Method and apparatus for detecting occlusions in an ambulatory infusion pump

ABSTRACT

An improved pump, reservoir and reservoir piston are provided for controlled delivery of fluids. A motor is operably coupled to a drive member, such as a drive screw, which is adapted to advance a plunger slide in response to operation of the motor. The plunger slide is removably coupled to the piston. A method, system, and an article of manufacture for automatically detecting an occlusion in a medication infusion pump is provided. The electrical current to an infusion pump is measured. Based on a series of measurements of one or more variables, the infusion pump detects whether there is an occlusion in the system.

RELATED APPLICATIONS

This is a continuation-in-part application, which claims priority fromU.S. patent application Ser. No. 11/323,104, filed on Dec. 30, 2005,which is a continuation-in-part application claiming priority from U.S.patent application Ser. No. 10/691,187, filed on Oct. 22, 2003, which isa continuation-in-part application claiming priority from U.S. patentapplication Ser. No. 09/698,783, filed on Oct. 27, 2000, which claimspriority from U.S. patent application Ser. No. 09/429,352, filed Oct.28, 1999, which claims priority from provisional patent application No.60/106,237, filed Oct. 29, 1998, and all of which are incorporatedherein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates generally to improvements in infusion pumps suchas those used for controlled delivery of medication to a patient. Morespecifically, this invention relates to improved methods and apparatusesfor detecting errors in detecting fluid pressure and occlusions in fluiddelivery paths of infusion pump systems.

2. Description of Related Art

Infusion pump devices and systems are relatively well-known in themedical arts, for use in delivering or dispensing a prescribedmedication such as insulin to a patient. In one form, such devicescomprise a relatively compact pump housing adapted to receive a syringeor reservoir carrying a prescribed medication for administration to thepatient through infusion tubing and an associated catheter or infusionset.

The infusion pump includes a small drive motor connected via a leadscrew assembly for motor-driven advancement of a reservoir piston toadminister the medication to the user. Programmable controls can operatethe drive motor continuously or at periodic intervals to obtain aclosely controlled and accurate delivery of the medication over anextended period of time. Such infusion pumps are used to administerinsulin and other medications, with exemplary pump constructions beingshown and described in U.S. Pat. Nos. 4,562,751; 4,678,408; 4,685,903;5,080,653 and 5,097,122, which are incorporated by reference herein.

Infusion pumps of the general type described above have providedsignificant advantages and benefits with respect to accurate delivery ofmedication or other fluids over an extended period of time. The infusionpump can be designed to be extremely compact as well as water resistant,and may thus be adapted to be carried by the user, for example, by meansof a belt clip or the like. As a result, important medication can bedelivered to the user with precision and in an automated manner, withoutsignificant restriction on the user's mobility or life-style, includingin some cases the ability to participate in water sports.

These pumps often incorporate drive systems which uses a lead screwcoupled to motors. The motors can be of the DC, stepper or solenoidvarieties. These drive systems provide an axial displacement of thesyringe or reservoir piston thereby dispensing the medication to theuser. Powered drive systems are advantageous since they can beelectronically controlled to deliver a predetermined amount ofmedication by means well known in the art.

In the operation of these pump systems, the reservoir piston will befully advanced when virtually all of the fluid in the reservoir has beendispensed. Correspondingly, the axial displacement of the motor leadscrew is also typically fully displaced. In order to insert a newreservoir, which is full of fluid, it is necessary to restore the leadscrew to its original position. Thus the lead screw will have to berewound or reset.

DC motors and stepper motors are advantageous over solenoid motors inthat the former are typically easier to operate at speeds that allowrewinding the drive system electronically. Solenoid based drive systems,on the other hand, often must be reset manually, which in turn makeswater resistant construction of the pump housing more difficult.

Lead screw drive systems commonly use several gears which are externalto the motor. FIG. 1 shows such a lead screw arrangement which is knownin the art. A motor 101 drives a lead screw 102 which has threads whichare engaged with a drive nut 103. Thus the rotational force of the leadscrew 102 is transferred to the drive nut 103 which causes it to move inan axial direction d. Because the drive nut 103 is fixably attached to areservoir piston 104 by a latch arm 110, it likewise will be forced inan axial direction d′, parallel to direction d, thus dispensing thefluid from a reservoir 105 into an infusion set 106. The lead screw 102is mounted on a bearing which provides lateral support. The lead screw102 extends through the bearing and comes in contact with the occlusiondetector. One known detector uses an “on/off” pressure limit switch.

Should an occlusion arise in the infusion set 106 tubing, a backpressure will build up in the reservoir 105 as the piston 104 attemptsto advance. The force of the piston 104 pushing against the increasedback pressure will result in an axial force of the lead screw 102driving against the detector. If the detector is a pressure limitswitch, then an axial force that exceeds the set point of the pressurelimit switch will cause the switch to close thus providing an electricalsignal through electrical leads and to the system's electronics. This,in turn, can provide a system alarm. The entire assembly can becontained in a water resistant housing 107.

FIG. 2 shows a different drive system and lead screw arrangement whichalso is known in the art. In this arrangement, a motor 201 (or a motorwith an attached gear box) has a drive shaft 201 a which drives a set ofgears 202. The torque is then transferred from the gears 202 to a leadscrew 203. The threads of the lead screw 203 are engaged with threads[not shown] in a plunger slide 204. Thus the torque of the lead screw203 is transferred to the slide 204 which causes it to move in an axialdirection d′, parallel to the drive shaft 201 a of the motor 201. Theslide 204 is in contact with a reservoir piston 205 which likewise willbe forced to travel in the axial direction d′ thus dispensing fluid froma reservoir 206 into an infusion set 207. The lead screw 203 is mountedon a bearing 209 which provides lateral support. The lead screw 203 canextend through the bearing to come in contact with an occlusiondetector. As before, if the detector is a pressure limit switch, then anaxial force that exceeds the set point of the pressure limit switch willcause the switch to close thus providing an electrical signal throughelectrical leads and to the system's electronics. This, in turn, canprovide a system alarm. The assembly can be contained in a waterresistant housing 208.

As previously noted, these lead screw drive systems use gears which areexternal to the motor. The gears are in combination with a lead screwwith external threads which are used to drive the reservoir's piston.This external arrangement occupies a substantial volume which canincrease the overall size of the pump. Moreover, as the number of drivecomponents, such as gears and lead screw, increases, the torque requiredto overcome inherent mechanical inefficiencies can also increase. As aresult, a motor having sufficient torque also often has a consequentdemand for increased electrical power.

Yet another known drive is depicted in FIGS. 3 a and 3 b. A reservoir301 fits into the unit's housing 302. Also shown are the piston member303 which is comprised of an elongated member with a substantiallycircular piston head 304 for displacing the fluid in the reservoir 301when driven by the rotating drive screw 305 on the shaft (not visible)of the drive motor 306.

As is more clearly shown in FIG. 3 b, the reservoir 301, piston head 304and piston member 303 comprise an integrated unit which is placed intothe housing 302 (FIG. 3 a). The circular piston head 304 displaces fluidin the reservoir upon axial motion of the piston member 303. Therearward portion of the piston member 303 is shaped like a longitudinalsegment of a cylinder as shown in FIG. 3 b and is internally threaded sothat it may be inserted into a position of engagement with the drivescrew 305. The drive screw 305 is a threaded screw gear of a diameter tomesh with the internal threads of the piston member 303. Thus the motor306 rotates the drive screw 305 which engages the threads of the pistonmember 303 to displace the piston head 304 in an axial direction d.

While the in-line drive system of FIG. 3 a achieves a more compactphysical pump size, there are problems associated with the design. Thereservoir, piston head and threaded piston member constitute anintegrated unit. Thus when the medication is depleted, the unit must bereplaced. This results in a relatively expensive disposable item due tothe number of components which go into its construction.

Moreover the drive screw 305 and piston head 304 of FIG. 3 a are notwater resistant. Because the reservoir, piston head and threaded pistonmember are removable, the drive screw 305 is exposed to the atmosphere.Any water which might come in contact with the drive screw 305 mayresult in corrosion or contamination which would affect performance orresult in drive failure.

The design of FIG. 3 a further gives rise to problems associated withposition detection of the piston head 304. The piston member 303 can bedecoupled from the drive screw 305. However, when another reservoirassembly is inserted, it is not known by the system whether the pistonhead 304 is in the fully retracted position or in some intermediateposition. Complications therefore are presented with respect toproviding an ability to electronically detect the position of the pistonhead 304 in order to determine the extent to which the medication inreservoir 301 has been depleted.

The construction of pumps to be water resistant can give rise tooperational problems. As the user travels from various elevations, suchas might occur when traveling in an air plane, or as the user engages inother activities which expose the pump to changing atmosphericpressures, differential pressures can arise between the interior of theair tight/water-resistant pump housing and the atmosphere. Should thepressure in the housing exceed external atmospheric pressure, theresulting forces could cause the reservoir piston to be driven inwardthus delivering unwanted medication.

Thus it is desirable to have an improved, compact, water resistant drivesystem which permits safe user activity among various atmosphericpressures and other operating conditions. Moreover it is desirable tohave improved medication reservoir pistons for use with such drivesystems.

SUMMARY OF THE PREFERRED EMBODIMENTS

An improved apparatus for dispensing a medication fluid is provided.This comprises a reservoir adapted to contain the fluid and a movablepiston adapted to vary the size of the reservoir and to discharge theliquid from the reservoir through an outlet. In a certain aspect of thepresent inventions, the reservoir and piston are adapted for use with apump drive system having a linear actuation member wherein the pistoncan be releasably coupled to the linear actuation member.

The piston comprises a first member adapted to be slidably mountedwithin the reservoir and to form at least part of a fluid-tight barriertherein. The first member has an external proximate side and an externaldistal side. The external proximate side is adapted to contact the fluidand is made of a material having a first stiffness. A second member hasa first side and a second side. At least a portion of the second memberis disposed within the first member. The first side of the second memberis adjacent to the external proximate side of the first member and ismade of a material having a stiffness which is greater than the firststiffness.

In alternative embodiments, the second member first side is in agenerally parallel, spaced-apart relationship with the first memberexternal proximate side.

In yet further embodiments, the first member external proximate side ismade of an elastomeric material and the second member first side is madeof stainless steel or plastic.

In yet further embodiments, the second member is substantially containedwithin the first member.

In yet further embodiments, the second member extends past the externalproximate side of the first member and is adapted for contact with thefluid to complete the fluid-tight barrier within the reservoir.

In yet further embodiments, a method of coupling an actuator to areservoir piston is provided. Electrical power is provided to a pumpmotor which is operably coupled to a plunger slide. The power isprovided when the plunger slide is in a position other than fullyinserted in a reservoir piston cavity. A first value corresponding tothe axial force on the plunger slide is measured. A determination ismade whether the first value exceeds a second value corresponding to theaxial force on the plunger slide when the plunger slide is fullyinserted in the piston cavity. Electrical power to the pump motor isterminated after determining that the first value exceeds the secondvalue.

In yet further embodiments of the present invention, a method, systemand article of manufacture to detect a malfunction with a force sensorin the infusion pump is described. In preferred embodiments, currentmeasurements to the motor are taken. Based on the current measurements,the infusion pump detects when the plunger slide is seated in thereservoir, and detects a problem with the force sensor when the forcesensor independently fails to register a value indicating that theplunger slide is seated in the reservoir. In particular embodiments, theinfusion pump detects when the plunger slide is seated in the reservoirby calculating an average current based on the current measurements,comparing the average current to a threshold current; and detecting whenthe plunger slide is seated in the reservoir when the average currentexceeds the threshold current.

In further embodiments, an encoder measures movement of the plungerslide as encoder counts and the infusion pump signals an error with theforce sensor when the force sensor independently fails to recognize thatthe plunger slide is seated in the reservoir after a preset encodercount threshold is exceeded. In yet further embodiments, the time sincethe plunger slide was seated in the reservoir as indicated by thecurrent measurements is also measured and an error with the force sensoris signaled when the force sensor independently fails to recognize thatthe plunger slide is seated in the reservoir after a preset timethreshold is exceeded.

In further embodiments, occlusions are detected using at least twovalues of the pump system. For example, these variables can includepressure, delivery volume, force, drive current, drive voltage, motordrive time, motor coast time, delivery pulse energy, motor drive count,motor coast count, and delta encoder count. In yet further embodiments,algorithms to detect occlusions based on one or more values are dynamic,and the values are calculated periodically, and may be calculatedcontinuously, throughout delivery of each pulse.

In further embodiments, occlusions are detected using a series of two ormore measurements of a particular value, for example, force. The seriesof measurements are filtered and/or weighed. In particular embodiments,the series of measurements may be filtered by removing the highest andlowest values. In further embodiments, the weighing of the series ofmeasurements may weight more heavily the most recent readings. If theweighted average is greater than a threshold value, the systemdetermines that an occlusion exists and notifies the user, for exampleby alarm. The threshold value may be varied based on the drive count.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a side plan view of a conventional lead-screw drive mechanism.

FIG. 2 is a side plan view of another conventional lead-screw drivemechanism.

FIG. 3 a is a perspective view of another conventional lead-screw drivemechanism.

FIG. 3 b shows the details of a disposable reservoir with the piston anddrive member withdrawn of the lead-screw drive mechanism of FIG. 3 a.

FIG. 4 is a side plan, cut-away view of a drive mechanism in a retractedposition in accordance with an embodiment of the present invention.

FIG. 5 is a perspective view of the in-line drive mechanism of FIG. 4outside of the housing.

FIG. 6 is a cut-away perspective view of the drive mechanism of FIG. 4in a retracted position.

FIG. 7 a is a side plan, cut-away view of the drive mechanism of FIG. 4in an extended position.

FIG. 7 b is a cut-away perspective view of the drive mechanism of FIG. 4in an extended position.

FIG. 8 is a cut-away perspective view of an anti-rotation device for usewith the drive mechanism shown in FIG. 4.

FIG. 9 is a cross-sectional view of a segmented (or telescoping) leadscrew in accordance with an embodiment of the present invention.

FIGS. 10 a, 10 b and 10 c are cross-sectional views of variousembodiments of venting ports for use with the drive mechanism of FIG. 4.

FIG. 11 is a partial, cross-sectional view of a reservoir and plungerslide assembly.

FIG. 12 is a partial, cross sectional view of a reservoir and areservoir connector.

FIGS. 13 a and 13 b are plunger slide force profile diagrams.

FIG. 14 is an exploded view of a reservoir, a piston, and an insert.

FIG. 15 a is a perspective view of a reservoir piston.

FIG. 15 b is an elevation view of the reservoir piston of FIG. 15 a.

FIG. 15 c is a cross-sectional view of the piston along lines 15 c-15 cof FIG. 15 b.

FIG. 16 a is a perspective view of a piston insert.

FIG. 16 b is a top plan view of the piston insert of FIG. 16 a.

FIG. 16 c is a cross-sectional view of the insert along lines 16 c-16 cof FIG. 16 b.

FIG. 17 is a cross-sectional view of a reservoir, reservoir piston, andinsert.

FIG. 18 is a cross-sectional view of a piston and piston insertaccording to an alternative embodiment of the present invention.

FIG. 19 illustrates logic for detecting occlusions in accordance with anembodiment of the present invention.

FIG. 20 is a graph showing measured voltage across a force sensitiveresistor as a function of applied force.

FIG. 21 is an exploded bottom/front perspective view of an infusion pumpdrive system, sensing system, and fluid containing assembly,incorporating a force sensor in accordance with an embodiment of thepresent invention.

FIG. 22 is an illustration view of an infusion pump drive system with asensor showing certain torque forces according to an embodiment of thepresent invention.

FIG. 23(a) is a perspective view of a sensor in a portion of a drivesystem according to another embodiment of the present invention.

FIG. 23(b) is a rear view of the sensor and pump drive system of FIG.23(a).

FIGS. 24 and 25 illustrate an algorithm for detecting a malfunction in aforce sensor in accordance with an embodiment of the present invention.

FIG. 26 is a graph showing measured force, drive count divided by 50 andmulti-variable value of an embodiment of the invention shown as afunction of delivery pulse.

FIG. 27 illustrates an algorithm for detecting an occlusion inaccordance with an embodiment of the present invention.

FIG. 28 is a graph showing measured force across time for a singledelivery pulse in an embodiment of the present invention.

FIG. 29 illustrates an algorithm for detecting an occlusion inaccordance with an embodiment of the present invention.

FIG. 30 is a graph showing force and slope versus delivery in anembodiment of the present invention.

FIG. 31 is a graph showing force versus time in an embodiment of thepresent invention.

FIG. 32 illustrates an algorithm for detecting an occlusion inaccordance with an embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following description, reference is made to the accompanyingdrawings which form a part hereof and which illustrate severalembodiments of the present inventions. It is understood that otherembodiments may be utilized and structural and operational changes maybe made without departing from the scope of the present inventions.

As shown in the drawings for purposes of illustration, some aspects ofthe present inventions are directed to a drive mechanism for an infusionpump for medication or other fluids. In preferred embodiments, areleasable coupler couples an in-line drive to a plunger or piston of areservoir to dispense fluids, such as medications, drugs, vitamins,vaccines, hormones, water or the like. However, it will be recognizedthat further embodiments of the invention may be used in other devicesthat require compact and accurate drive mechanisms. Details of theinventions are further provided in co-pending U.S. patent applicationSer. No. 09/429,352, filed Oct. 29, 1999, now issued U.S. Pat. No.6,248,093 and U.S. provisional patent application Ser. No. 60/106,237,filed Oct. 29, 1998, both of which are incorporated herein by referencein their entireties.

In addition, the reservoir piston includes features which providegreater stiffness against fluid back pressure thus reducing systemcompliance. The piston further includes a threaded attachment featurewhich permits a releasable yet secure coupling between the reservoirpiston and the in-line drive.

FIG. 4 shows a side plan, cut-away view of an infusion pump drivemechanism according to one embodiment of the inventions, in which ahousing 401, containing a lower section 402 for a power supply 420 andelectronic control circuitry 422, accommodates a driving device, such asa motor 403 (e.g., a solenoid, stepper or d.c. motor), a first drivemember, such as an externally threaded drive gear or screw 404, a seconddrive member, such as an internally threaded plunger gear or slide 405,and a removable vial or reservoir 406. The reservoir 406 includes aplunger or piston assembly 407 with O-rings or integral raised ridgesfor forming a water and air tight seal. The reservoir 406 is securedinto the housing 401 with a connector 431 which also serves as theinterface between the reservoir 406 and the infusion set tubing (notshown). In one embodiment, the reservoir piston assembly 407 is coupledto a linear actuation member, such as the plunger slide 405, by areleasable coupler. In the illustrated embodiment, the coupler includesa female portion 424 which receives a male portion 426 carried by theplunger slide 405. The female portion 424 is positioned at the end face428 of the piston assembly 407 and includes a threaded cavity whichengages the threads of a male screw extending from the end 430 of theplunger slide 405.

While certain embodiments of the present inventions are directed todisposable, pre-filled reservoirs, alternative embodiments may userefillable cartridges, syringes or the like. The cartridge can bepre-filled with insulin (or other drug or fluid) and inserted into thepump. Alternatively, the cartridge could be filled by the user using anadapter handle on the syringe-piston. After being filled, the handle isremoved (such as by unscrewing the handle) so that the cartridge can beplaced into the pump.

Referring again to FIG. 4, as the drive shaft 432 of the motor 403rotates in the gear box 501, the drive screw 404 drives the plungerslide 405 directly to obtain the axial displacement against thereservoir piston assembly 407 to deliver the predetermined amount ofmedication or liquid. When using a DC or stepper motor, the motor can berapidly rewound when the reservoir is emptied or as programmed by theuser. A sealing device, such as an O-ring seal 409 is in contact withthe plunger slide 405 thus allowing it to move axially while maintaininga water resistant barrier between the cavity holding the reservoir 406and the motor 403. This prevents fluids and other contaminants fromentering the drive system.

An anti-rotation key 410 is affixed to the plunger slide 405 and issized to fit within a groove (not shown) axially disposed in the housing401. This arrangement serves to prevent motor and plunger slide rotationwhich might otherwise result from the torque generated by the motor 403in the event that the friction of the O-ring seal 409 is not sufficientalone to prevent rotation.

The motor 403 is a conventional motor, such as a DC or stepper motor,and is journal mounted in the housing 401 by a system compliancemounting 412. A system compliance mount can be useful in aiding motorstartup. Certain types of motors, such as stepper motors, may require agreat deal of torque to initiate rotor motion when the rotor's initialat-rest position is in certain orientations with respect to the motor'shousing. A motor which is rigidly mounted may not have enough power todevelop the necessary starting torque. Including system compliancemounting permits the motor housing to turn slightly in response to highmotor torque. This alters the orientation between the rotor and thehousing such that less torque is required to initiate rotor motion. Acompliance mount can include a rubberized mounting bracket.Alternatively, the mounting could be accomplished using a shaft bearingand leaf spring or other known compliance mountings.

FIG. 5 shows a perspective view of the in-line drive mechanism of FIG. 4outside of the housing. The plunger slide 405 (internal threads notshown) is cylindrically shaped and has the screw-shaped male portion 426of the coupler attached to one end thereof. The anti-rotation key 410 isaffixed to the opposite end of the slide 405. The drive screw 404 is ofsuch a diameter as to fit within and engage the internal threads of theplunger slide 405 as shown in FIG. 4. A conventional gear box 501couples the drive screw 404 to the drive shaft 432 of the motor 403.

FIGS. 4 and 6 show the infusion pump assembly with the plunger slide 405in the retracted position. The reservoir 406 which may be full ofmedication or other fluid is inserted in a reservoir cavity 601 which issized to receive a reservoir or vial. In the retracted position, theplunger slide 405 encloses the gear box 501 (not visible in FIG. 6)while the drive screw 404 (not visible in FIG. 6) remains enclosedwithin the plunger slide 405 but is situated close to the coupler.

The motor 403 may optionally include an encoder (not shown) which inconjunction with the system electronics can monitor the number of motorrotations. This in turn can be used to accurately determine the positionof the plunger slide 405 thus providing information relating to theamount of fluid dispensed from the reservoir 406.

FIGS. 7 a and 7 b show the infusion pump assembly with the plunger slide405 in the fully extended position. In this position, the plunger slide405 has withdrawn from over the gear box 501 and advanced into thereservoir 406 behind the reservoir piston assembly 407. Accordingly, theplunger slide 405 is sized to fit within the housing of the reservoir406, such that when the reservoir piston assembly 407 and the plungerslide 405 are in the fully extended position as shown, the reservoirpiston assembly 407 has forced most, if not all, of the liquid out ofthe reservoir 406. As explained in greater detail below, once thereservoir piston assembly 407 has reached the end of its travel pathindicating that the reservoir has been depleted, the reservoir 406 maybe removed by twisting such that the threaded reservoir piston assembly407 (not shown in FIG. 7 b) disengages from the male portion 426 of thecoupler.

In one embodiment, the motor drive shaft 432, gear box 501, drive screw404, and plunger slide 405 are all coaxially centered within the axis oftravel 440 (FIG. 4) of the reservoir piston assembly 407. In certain ofthe alternative embodiments, one or more of these components may beoffset from the center of the axis of travel 440 and yet remain alignedwith the axis of travel which has a length which extends the length ofthe reservoir 406.

FIG. 8 is a cut away perspective view of an anti-rotation device. Theanti-rotation key 410 consists of a ring or collar 442 with tworectangular tabs 436 which are spaced 180° apart. Only one tab isvisible in FIG. 8. The ring portion 442 of the key 410 surrounds and isattached to the end of the plunger slide 405 which is closest to themotor. Disposed in the housing 401 are two anti-rotation slots 434, onlyone of which is visible in FIG. 8. The anti-rotation slots 434 are sizedto accept the rectangular tabs of the key 410. As the plunger slide 405moves axially in response to the motor torque as previously described,the slots 434 will permit the key 410 to likewise move axially. Howeverthe slots 434 and the tabs 436 of the key 410 will prevent any twistingof the plunger slide 405 which might otherwise result from the torquegenerated by the motor.

FIG. 9 illustrates a split lead-screw (or plunger slide) design for usewith a pump drive mechanism. The use of a split lead-screw ortelescoping lead screw allows the use of an even smaller housing for thedrive mechanism. A telescoping lead-screw formed from multiple segmentsallows the pump to minimize the dimensions of the drive mechanism, ineither in-line or gear driven drive mechanisms.

An interior shaft 901 is rotated by a gear 906 which is coupled to adrive motor (not shown). This in turn extends a middle drive segment 902by engaging with the threads of an internal segment 904. The middlesegment 902 carries an outer segment 903 forward with it in direction das it is extended to deliver fluid. When the middle segment 902 is fullyextended, the internal segment 904 engages with a stop 905 on the middlesegment 902 and locks it down from pressure with the threads between themiddle and internal segments. The locked middle segment 902 then rotatesrelative to the outer segment 903 and the threads between the middlesegment 902 and the outer segment 903 engage to extend the outer segment903 in direction d to its full length.

The use of multiple segments is not limited to two or three segments;more may be used. The use of three segments reduces the length of theretracted lead-screw portion of the drive mechanism by half. Inalternative embodiments, the outer segment may be connected to the motorand the inner segment may be the floating segment. In preferredembodiments, O-rings 907 are used to seal each segment relative to theother and to form a seal with the housing to maintain water sealing andintegrity.

As previously noted, the construction of these pumps to be waterresistant can give rise to operational problems. As the user engages inactivities which expose the pump to varying atmospheric pressures,differential pressures can arise between the interior of the airtight/water-resistant housing and the atmosphere. Should the pressure inthe housing exceed external atmospheric pressure, the resulting forcescould cause the reservoir piston to be driven inward thus deliveringunwanted medication. On the other hand, should the external atmosphericpressure exceed the pressure in the housing, then the pump motor willhave to work harder to advance the reservoir piston.

To address this problem, a venting port is provided which resists theintrusion of moisture. Referring to FIG. 7 b, venting is accomplishedthrough the housing 401 into the reservoir cavity 601 via a vent port605. The vent port can be enclosed by a relief valve (not shown) orcovered with hydrophobic material. Hydrophobic material permits air topass through the material while resisting the passage of water or otherliquids from doing so, thus permitting water resistant venting. Oneembodiment uses a hydrophobic material such as Gore-Tex®, PTFE, HDPE,and UHMW polymers from sources such as W.I. Gore & Associates,Flagstaff, Ariz., Porex Technologies, Fairburn, Ga., or DeWALIndustries, Saunderstown, R.I. It is appreciated that other hydrophobicmaterials may be used as well.

These materials are available in sheet form or molded (press andsintered) in a geometry of choice. Referring to FIGS. 10 a-10 c,preferred methods to attach this material to the housing 401 includemolding the hydrophobic material into a sphere 1001 (FIG. 10 a) or acylinder 1002 (FIG. 10 b) and pressing it into a cavity in thepre-molded plastic housing. Alternatively, a label 1003 (FIG. 10 c) ofthis material could be made with either a transfer adhesive or heat bondmaterial 1004 so that the label could be applied over the vent port 605.Alternatively, the label could be sonically welded to the housing. Ineither method, air will be able to pass freely, but water will not.

In an alternative embodiment (not shown), the vent port could be placedin the connector 431 which secures the reservoir 406 to the housing 401and which also serves to secure and connect the reservoir 406 to theinfusion set tubing (not shown). As described in greater detail incopending application Ser. No. 09/428,818, filed on Oct. 28, 1999, whichapplication is incorporated by reference in its entirety, the connectorand infusion set refers to the tubing and apparatus which connects theoutlet of the reservoir to the user of a medication infusion pump.

An advantage of placing the vent port and hydrophobic material in thislocation, as opposed to the housing 401, is that the infusion set isdisposable and is replaced frequently with each new reservoir or vial ofmedication. Thus new hydrophobic material is frequently placed intoservice. This provides enhanced ventilation as compared with theplacement of hydrophobic material in the housing 401. Material in thislocation will not be replaced as often and thus is subject to dirt oroil build up which may retard ventilation. In yet another alternativeembodiment however, vent ports with hydrophobic material could be placedin both the pump housing and in the connector portion of the infusionset.

Regardless of the location of the vent port, there remains thepossibility that the vent port can become clogged by the accumulation ofdirt, oil, etc. over the hydrophobic material. In another feature ofcertain embodiments of the present invention, the releasable coupler canact to prevent unintentional medication delivery in those instances whenthe internal pump housing pressure exceeds atmospheric pressure.Referring to FIG. 11, the coupler includes threads formed in a cavitywithin the external face of the reservoir piston assembly 407. Thethreaded cavity 424 engages the threads of the male portion 426 which inturn is attached to the end 430 of the plunger slide 405.

This thread engagement reduces or prevents the effect of atmosphericpressure differentials acting on the water resistant, air-tight housing401 (not shown in FIG. 11) from causing inadvertent fluid delivery. Thethreads of the male portion 426 act to inhibit or prevent separation ofthe reservoir piston assembly 407 from the plunger slide 405 which, inturn, is secured to the drive screw 404 (not shown in FIG. 11) byengagement of the external threads of the drive screw 404 with theinternal threads of the plunger slide 405. As a result, the couplerresists movement of the reservoir piston assembly 407 caused byatmospheric pressure differentials.

When the reservoir 406 is to be removed, it is twisted off of thecoupler male portion 426. The system electronics then preferably causethe drive motor 403 to rapidly rewind so that the plunger slide 405 isdriven into a fully retracted position (FIGS. 4 and 6). A new reservoir406, however, may not be full of fluid. Thus the reservoir pistonassembly 407 may not be located in the furthest possible position fromthe reservoir outlet. Should the reservoir piston assembly 407 be insuch an intermediate position, then it may not be possible to engage thethreads of the male portion 426 of the coupler (which is in a fullyretracted position) with those in the female portion 424 of the couplerin the reservoir piston assembly 407 upon initial placement of thereservoir.

In accordance with another feature of certain embodiments, theillustrated embodiment provides for advancement of the plunger slide 405upon the insertion of a reservoir into the pump housing. The plungerslide 405 advances until it comes into contact with the reservoir pistonassembly 407 and the threads of the coupler male portion 426 of thecoupler engage the threads in the female portion 424 in the reservoirpiston assembly 407. When the threads engage in this fashion in theillustrated embodiment, they do so not by twisting. Rather, they ratchetover one another.

In the preferred embodiment, the threads of the coupler male portion 426have a 5 start, 40 threads per inch (“TPI”) pitch or profile while thethreads of the coupler female portion 424 have a 2 start, 40 TPI pitchor profile as illustrated in FIG. 11. Thus these differing threadprofiles do not allow for normal tooth-to-tooth thread engagement.Rather, there is a cross threaded engagement.

The purpose of this intentional cross threading is to reduce the forcenecessary to engage the threads as the plunger slide 405 seats into thereservoir piston assembly 407. In addition, the 2 start, 40 TPI threadsof the coupler female portion 424 are preferably made from a rubbermaterial to provide a degree of compliance to the threads. On the otherhand, the 5 start, 40 TPI threads of the male coupler portion 426 arepreferably made of a relatively hard plastic. Other threadingarrangements and profiles could be employed resulting in a similareffect.

If on the other hand, the threads had a common thread pitch with anequal number of starts given the same degree of thread interference(i.e., the OD of the male feature being larger than the OD of the femalefeature), then the force needed to insert the male feature would bepulsatile. Referring to FIG. 13 a, as each thread tooth engages the nexttooth, the insertion force would be high as compared to the point wherethe thread tooth passes into the valley of the next tooth. But with thecross threaded arrangement of the preferred embodiment, not all of thethreads ride over one another at the same time. Rather, they ratchetover one another individually due to the cross-threaded profile. Thisarrangement results in less force required to engage the threads whenthe plunger slide moves axially, but still allows the reservoir toeasily be removed by a manual twisting action.

While the advantage of utilizing a common thread pitch would be toprovide a maximum ability to resist axial separation of the reservoirpiston assembly 407 from the plunger slide 405, there are disadvantages.In engaging the threads, the peak force is high and could result inexcessive delivery of fluids as the plunger slide 405 moves forward toseat in the cavity of the reservoir piston assembly 407. As described ingreater detail in copending U.S. patent application Ser. No. 09/428,411filed on Oct. 28, 1999, now issued U.S. Pat. No. 6,362,591, whichapplication is incorporated by reference in its entirety, the pump mayhave an occlusion detection system which uses axial force as anindicator of pressure within the reservoir. If so, then a false alarmmay be generated during these high force conditions.

It is desirable therefore to have an insertion force profile which ispreferably more flat than that shown in FIG. 13 a. To accomplish this,the cross threading design of the preferred embodiment causes therelatively soft rubber teeth of the female portion 424 at the end of thereservoir piston assembly 407 to ratchet or swipe around the relativelyhard plastic teeth of the coupler resulting in a significantly lowerinsertion force for the same degree of thread interference. (See FIG. 13b) This is due to the fact that not all of the thread teeth ride overone another simultaneously. Moreover, the cross-sectional shape of thethreads are ramped. This makes it easier for the threads to ride overone another as the plunger slide is being inserted into the reservoirpiston. However, the flat opposite edge of the thread profile makes itmuch more difficult for the plunger slide to be separated from thereservoir piston.

When the plunger slide is fully inserted into the reservoir piston, theslide bottoms out in the cavity of the piston. At this point thepresence of the hydraulic load of the fluid in the reservoir as well asthe static and kinetic friction of the piston will act on the plungerslide. FIG. 13 b shows the bottoming out of the plunger slide against apiston in a reservoir having fluid and the resulting increase in theaxial force acting on the piston and the plunger slide. This hydraulicload in combination with the static and kinetic friction is so muchhigher than the force required to engage the piston threads that such adisparity can be used to advantage.

The fluid pressure and occlusion detection systems described in U.S.provisional patent application Ser. No. 60/243,392 (attorney docket no.0059-0391-PROV) filed Oct. 26, 2000, later filed as a regular U.S.application Ser. No. 09/819,208 filed on Mar. 27, 2001, now issued asU.S. Pat. No. 6,485,465 or in U.S. patent application Ser. No.09/428,411, filed Oct. 28, 1999, now issued U.S. Pat. No. 6,362,591 (allof which are incorporated herein by reference in their entireties) orknown pressure switch detectors, such as those shown and described withreference to FIGS. 1 and 2, can be used to detect the fluid backpressure associated with the bottoming out of the plunger slide againstthe piston. Certain sections of the incorporated references will bediscussed below with regards to the error detection of the fluid forcesensor and occlusion detection systems below in reference to FIGS.19-23(a & b), which is related to the fluid back pressure associatedwith the bottoming out of the plunger slide against the piston.

A high pressure trigger point of such a pressure switch or occlusiondetection system can be set at a point above the relatively flat crossthread force as shown in FIG. 13 b. Alternatively, the ramping or theprofiles of such back pressure forces can be monitored. When anappropriate limit is reached, the pump system electronics can send asignal to stop the pump motor. Thus the pump drive system is able toautomatically detect when the plunger slide has bottomed out and stopthe pump motor from advancing the plunger slide.

Referring to FIGS. 11 and 12, the 5 start, 40 TPI (0.125″ lead) threadprofile of the coupler male portion 426 was chosen in consideration ofthe thread lead on the preferred embodiment of the connector 431. Theconnector 431 is secured into the pump housing with threads 433 (FIG. 7b) having a 2 start, 8 TPI (0.250″ lead) profile. Therefore the 0.250″lead on the connector is twice that of the reservoir piston assembly 407which is 0.125″. This was chosen to prevent inadvertent fluid deliveryduring removal of the reservoir from the pump housing, or alternatively,to prevent separation of the reservoir piston assembly 407 from thereservoir 406 during removal from the pump housing. When the connector431 is disengaged from the pump, the connector 431 as well as thereservoir 406 will both travel with the 0.250″ lead. Since the threadedcoupler lead is 0.125″, the plunger slide 405 will disengage somewherebetween the 0.125″ lead of the threaded coupler and the 0.250″ lead ofthe infusion set 1103. Therefore, the rate that the reservoir pistonassembly 407 is removed from the pump is the same down to half that ofthe reservoir 406/connector 431. Thus any medication, which may bepresent in the reservoir 406 will not be delivered to the user.Additionally, the length of the reservoir piston assembly 407 issufficient such that it will always remain attached to the reservoir 406during removal from the pump. Although the preferred embodimentdescribes the plunger slide 405 having a coupler male portion 426 withan external thread lead that is different from the connector 431, thisis not necessary. The thread leads could be the same or of an incrementother than what has been described.

The 2 start thread profile of the coupler female portion 424 on thereservoir piston assembly 407 of the preferred embodiment providesanother advantage. Some versions of these reservoirs may be designed tobe filled by the user. In such an instance, a linear actuation membercomprising a handle (not shown) will need to be screwed into thethreaded portion of the reservoir piston assembly 407 in order for theuser to retract the reservoir piston assembly 407 and fill thereservoir. The number of rotations necessary to fully insert the handledepends upon the distance the handle thread profile travels to fullyengage the reservoir piston assembly 407 as well as the thread lead.

For example, a single start, 40 TPI (0.025″ lead) thread requires 4complete rotations to travel a 0.10″ thread engagement. However, a 2start, 40 TPI (0.050″ lead) thread only requires 2 complete rotations totravel the 0.10″ thread engagement. Therefore, an additional advantageof a 2 start thread as compared to a single start thread (given the samepitch) is that half as many rotations are needed in order to fully seatthe handle.

In alternative embodiments which are not shown, the end of the plungerslide 405 may include a détente or ridge to engage with a correspondingformation in the reservoir piston assembly 407 to resist unintendedseparation of the plunger slide 405 from the reservoir piston assembly407. In other embodiments, the plunger slide 405 is inserted and removedby overcoming a friction fit. Preferably, the friction fit is secureenough to resist movement of the reservoir piston assembly 407 relativeto the plunger slide 405 due to changes in air pressure, but low enoughto permit easy removal of the reservoir 406 and its reservoir pistonassembly 407 from the plunger slide 405 once the fluid has beenexpended. In other embodiments, the détente or ridge may be springloaded or activated to grasp the reservoir piston assembly 407 once thedrive mechanism has been moved forward (or extended), but is retractedby a switch or cam when the drive mechanism is in the rearmost (orretracted) position. The spring action could be similar to those used oncollets. In other embodiments of the inventions, the threaded couplermay be engaged with the threaded cavity of the reservoir piston bytwisting or rotating the reservoir as it is being manually placed intothe housing.

As previously mentioned, some pump systems may have an occlusiondetection system which uses the axial force on the drive train as anindicator of pressure within a reservoir. One problem faced by suchocclusion detection systems, however, is the system complianceassociated with reservoir fluid back pressures. As previously mentioned,the force on a piston assembly resulting from increased back pressurescan deform a piston which is constructed of relatively flexible materialsuch as rubber. Should an occlusion arise in the fluid system, thisdeformation can reduce the rate at which fluid back pressures increase.This in turn can increase the amount of time required for the system todetect an occlusion—a situation which may be undesirable.

To address this problem, an insert 1201 which is made of hard plastic,stainless steel or other preferably relatively stiff material isdisposed in the upper portion of the reservoir piston assembly 407.(FIG. 12) The insert 1201 of the illustrated embodiment providesstiffness to the rubber reservoir piston assembly 407. This can reduceundesirable compliance which is associated with the reservoir.

FIG. 14 shows an industry standard reservoir 406 and the piston assembly407 comprising a piston member 1404 and an insert 1201. One end of thereservoir 406 has a generally conical-shaped end portion 1401 whichtapers to a neck 1402. A swage 1403 is secured to the neck therebyforming a fluid-tight seal. The insert 1201 is placed in the cavity 424of the piston member 1404 which in turn is placed in the opposite end ofthe reservoir 406.

FIGS. 15 a and 15 b show the piston member 1404 which is adapted toreceive the insert 1201 (FIG. 14). The piston member 1404 is furtheradapted to be slidably mounted within the reservoir 1401 and to form afluid-tight barrier therein. The exterior of the piston member 1404includes a generally cylindrical side wall 1502 and an externalproximate side 1501 having a generally conical convex shape which isadapted to conform to the conical-shaped end portion 1401 of thereservoir 406 (FIG. 14). This geometry reduces the residual volume offluid remaining in the reservoir 406 after the piston assembly 407 isfully advanced. The piston member's side wall 1502 has a plurality ofridges 1503 which form a friction fit with the interior of the reservoirside wall thereby forming a fluid-resistant seal.

Referring to FIG. 15 c, the piston member 1404 has an external distalside 1505 which is opposite to the external proximate side 1501 which inturn is adapted to contact any fluid which might be present in thereservoir. The external distal side 1505 has an opening 1506 leadinginto the threaded cavity 424. The cavity 424 comprises a first chamber1508 extending from the external distal side 1505 into the cavity 424and a second chamber 1509 extending from the first chamber 1508 to aninternal proximate wall 1510 which is disposed adjacent to the externalproximate side 1501 of the piston member 1404.

The first chamber 1508 is defined by a generally cylindrically-shapedfirst wall 1511 extending axially from the external distal side 1505into the cavity 424. The first wall 1511 includes threads 1504 formed onthe wall which are adapted to couple with any linear actuator member,such as for example, the threads of the male portion 426 of the plungerslide 405 as previously described (FIG. 11). The second chamber 1509 isdefined by a generally cylindrically-shaped second wall 1512 extendingaxially from the generally cylindrically-shaped first wall 1511 into thecavity 424 and by the internal proximate wall 1510. The generallycylindrically-shaped second wall 1512 has a radius which is greater thanthat of the generally cylindrically-shaped first wall 1511. A ledge 1513extends from the generally cylindrically-shaped first wall 1511 to thegenerally cylindrically-shaped second wall 1512. The internal proximatewall 1510 forms the end of the second chamber 1509 and is generallyconcave conical in shape. Thus the thickness of that portion of thefirst member which is between the internal proximate wall 1510 and theexternal proximate side 1501 is generally uniform.

Referring to FIGS. 16 a-16 c, the insert 1201 is a solid member whichhas a planar back wall 1602, a generally cylindrical side wall 1603, anda conical face portion 1601 which terminates in a spherically-shaped endportion 1604. In one embodiment, the planar back wall 1602 is 0.33inches in diameter, the cylindrical side wall 1603 is approximately0.054 inches in length, the conical face portion 1601 is approximately0.128 inches in length, and the spherically-shaped end portion 1604 hasa radius of curvature of approximately 0.095 inches.

The face portion 1601 and the end portion 1604 are adapted to mate withthe internal proximate wall 1510 and the back wall 1602 is adapted toseat against the ledge 1513 of the piston member 1404 (FIG. 15 c). Wheninserted, the insert face portion 1601 and the external proximate side1501 are in a generally parallel spaced-apart relationship. The insert1201 is a relatively incompressible member which can be made ofstainless steel or relatively stiff plastic or any other material whichpreferably has stiffness properties which are greater than that of theexternal proximate side 1501 of the piston member 1404. If a hardplastic material is selected, however, it preferably should be a gradeof plastic which can withstand the high temperatures associated with anautoclave.

FIG. 17 shows the reservoir 406 with the piston member 1404 and theinsert 1201 as assembled. As previously mentioned, the ledge 1513supports the planar back 1602 of the insert 1201 and secures it intoplace. Because the piston member 1404 is constructed of rubber or otherrelatively flexible material, it can deflect sufficiently duringassembly to permit the insert 1201 to be inserted in the opening 1506and through the first chamber 1508 and then positioned in the secondchamber 1509. The conical face portion 1601 of the insert 1201 mateswith the internal proximate wall 1510 of the piston member 1404, thuspermitting a reduced thickness of rubber which is in direct contact withfluid 1701. This reduced thickness of rubber or other flexible materialminimizes the compliance which might otherwise be caused by the backpressure of the fluid 1701 acting on the external proximate side 1501 ofthe piston member 1404.

It should be appreciated that although the insert member 1201 depictedin FIGS. 14-17 is removable from the piston member 1404, alternativeembodiments of the present invention include a piston assembly in whichthere are no openings or open cavities and in which an insert member isencased in such a manner so as to be not removable.

The insert member of the above-described embodiments is not adapted tocontact the fluid in a reservoir. However, FIG. 18 shows yet anotheralternative embodiment where a portion of an insert member is adapted tocontact reservoir fluid. A piston assembly 1801 comprises a pistonmember 1802 and an insert 1803. The piston member 1802 is adapted to beslidably mounted within a reservoir (not shown in FIG. 18) and isfurther adapted to form part of a fluid-tight barrier within thereservoir. The piston member 1802 has an external proximate side 1804and an external distal side 1805. The external proximate side 1804 isadapted to contact the reservoir fluid and is made of an elastomericmaterial, such as rubber.

The insert 1803 is substantially contained within the piston member 1802and has a face 1806 which is made of a material, such as stainless steelor hard plastic, having a stiffness which is greater than that of thepiston member 1802. The insert face 1806 has an exposed portion 1807 andan enclosed portion 1808. The exposed portion 1807 is adapted to contactthe fluid within the reservoir whereas the enclosed portion 1808 isenclosed or covered by the external proximate side 1804 of the pistonmember 1802. Therefore, the insert 1803 extends past the externalproximate side of the piston member 1802 and is adapted for contact withthe fluid to complete the fluid-tight barrier within the reservoir. Thusthe arrangement of the insert 1803 in this fashion provides thenecessary stiffness to the piston assembly 1801 to reduce systemcompliance.

It should be appreciated that while the piston members and insertsdescribed above include conical geometries, other geometries can beused. For example in an alternative embodiment shown in FIG. 11, aninsert 1102 has a disc shape with relatively flat faces. This also canprovide the necessary stiffness to the piston assembly 407 to reducesystem compliance.

In yet further embodiments (not shown), an insert member is an integralpart of a male portion of a plunger slide assembly which is adapted tofit within a piston assembly cavity. The male portion of the slideassembly (i.e., the insert member) is further adapted to abut aninternal proximate wall within the cavity thus providing increasedstiffness to that portion of the piston assembly which is in contactwith reservoir fluid.

It can be appreciated that the design of FIGS. 4-18 results in anarrangement where the plunger slide 405 is reliably but releasablycoupled to the drive screw 404. When it is time to replace the reservoir406, it can be detached from the male end of the coupler withoutaffecting the plunger/drive screw engagement. Moreover in oneembodiment, the plunger slide 405 is shaped as a hollow cylinder withinternal threads. Thus it completely encircles and engages drive screw404. When the plunger slide 405 is in a relatively retracted position,it encloses any gears which couple the motor 403 with the drive screw404 thus achieving an extremely compact design. A vent port covered withhydrophobic material as well as a threaded coupler provide redundantmeans for permitting exposure of the pump to changing atmosphericpressures without the unintended delivery of medication. A reservoirpiston assembly 407 includes an insert member 1201 which increases thestiffness of the piston assembly 407 thus reducing fluid systemcompliance.

In another aspect of the present invention, the above discussed drivesystem allows for improved occlusion detection and other error detectionsystems. Relevant text from U.S. patent application Ser. No. 09/428,411,filed Oct. 28, 1999, now issued U.S. Pat. No. 6,362,591, which wasincorporated by reference, describes the occlusion detection scheme asfollows:

The occlusion detector measures increased reservoir pressure indirectlyby monitoring one or more motor parameters, such as voltage, current,running time, or rotational or linear displacement. It is known in theart that torque developed by a brushed DC motor is directly proportionalto the current supplied to it at steady state. Therefore, in a screwtype drive system, as the axial load increases due to increased fluidpressure within the reservoir, more motor torque is required to drivethe system. Should there be an occlusion, the pressure inside thereservoir will exceed a predetermined threshold. Thus the currentnecessary to drive that load will exceed a predetermined currentthreshold and the electronics will be flagged to cease furtherdelivering. In addition, an audible, tactile and/or display alarmtypically is triggered.

However, care must be employed when clearing this alarm if the occlusionstill exists and there is still a high pressure state in the reservoir.Since the motor must operate to obtain an indication of pressure withinthe reservoir, more and more pressure can potentially be developedwithin the system. If the motor is not in operation, there is no currentflowing and negligible torque on the motor body. Therefore, when anocclusion exits distal from the reservoir due to pinched tubing forexample, then the measured property will indicate this only during eachmotor delivery increment.

If the user clears the alarm and attempts to deliver medication againwhen the occlusion in fact was not removed, additional pressure will begenerated within the fluid system. Assuming that the system isprogrammed to continue to alarm when the pressure (or motor current) isabove the set point, then continued alarming will occur. Thus the usermay on several occasions attempt to clear the alarm before locating andcorrecting the source of the occlusion.

When the occlusion is finally cleared, there could be excess pressuredeveloped in the system which could result in the delivery of a bolus ofmedication larger than that which should be delivered. The improvedocclusion detection system disclosed herein protects against this bycausing the pump to rewind by some predetermined amount following eachocclusion alarm. By rewinding the pump by, say, one delivery pulse, theocclusion alarm will trigger if the occlusion still exists. However, itwill do so at the same maximum pressure as programmed and not at abovethis value.

On a drive system that is bi-directional, the current measurement canalso be used as an indicator of system wear. Over the life of theproduct, it is expected that the torque required to drive the systemwill change over time due to wear of the dynamic components and theirinterfaces. Since the torque required to rewind a bi-directional systemis due to the drive system's frictional factors, the current to rewindcan be recorded and is proportional to this torque.

As the system wears, the torque and therefore the current to rewind willchange. By storing the rewind current, this can be used to calibrate thesystem. An averaged baseline rewind current can be determined and usedto adjust the driving force baseline which is the torque (or current)required to advance the drive system when no other external forces, suchas a syringe with fluid, are present. An alternative method would be torewind the system, and then immediately thereafter, obtain the forwardor driving baseline current by driving the system forward for somedistance and recording it; after which, the system is rewound again. Theadvantage of using either method is that the calibration can beautomatic and transparent to the user.

FIG. 19 illustrates the logic in one embodiment of the detector whereinmotor current is measured for detecting a system occlusion. Controlbegins at block 501′ where the system determines whether it is necessaryto fully rewind the pump drive system. Conditions requiring such arewind of the drive system will be discussed below. If the system is notto be rewound, then a determination is made whether it is time for anincrement of medication is to be delivered (block 502). Thisdetermination is a function of the programming which is unique to themedical condition of each user, the type of medication being provided,or the like. If it is not time to deliver medication, then the programloops to the start for additional time to elapse or for the receipt ofother control commands.

However, if it is time for delivery of an increment of medication,control transfers to block 503 where power is applied to the pump motorthus causing medication to be dispensed from the reservoir. Next, theamount of medication delivered from the reservoir is measured (block504). This can be accomplished directly or indirectly in several ways,including measuring (1) encoder counts, (2) pump operation time, (3)reservoir plunger position location, velocity or acceleration, (4) thelocation of any moveable component on the pump drive train, or (5) themass or volumetric flow of the liquid.

A determination is then made as to whether the amount of medicationdelivered is sufficient (block 505). If it is sufficient, control istransferred to block 506 where the pump is stopped and the program loopsto the beginning. If on the other hand, the pump is continuing to run,but the programmed dosage has not yet been delivered, then the pumpmotor current is measured (block 507). If there is an occlusion in thesystem, an increase in reservoir fluid pressure will likely result.This, in turn, can cause greater motor torque and current as the motorattempts to advance the reservoir plunger against this fluid pressure.Thus, if the measured motor current is some amount greater than a known,average baseline motor current, which may be established when there wasno occlusion condition, then it is determined that an occlusioncondition has likely occurred.

Not only can this current measurement indicate an occlusion condition,this motor current can provide feedback as to drive systemcharacteristics, performance, and functionality, especially with theaddition of an encoder. If for example, there was a failure of thegearbox causing the motor to be unable to rotate, the measured currentwould be high (above predetermined threshold settings) and the encoderwould not increment. This would be an indication of a drive systemfault. For the inline drive system, a failure of the gearbox, screw, orslide interface would be indicated by this condition.

Referring to FIG. 19, at block 508 the value of the average baselinecurrent is retrieved from a storage location in memory represented byblock 520. This value is compared with the current measured at thepresent time and a determination is made whether the present currentexceeds the average baseline by a certain amount. If it does not, thenthe pump continues to run and control loops to block 504 where theamount of medication delivery is again measured. On the other hand, ifthe present current exceeds the average baseline by a selected amount,then the pump motor is stopped and an alarm indication, audible, tactileand/or visible, is given (blocks 509 and 510).

Control transfers to block 511 where the system is monitored forclearing of the alarm. If the alarm has not been cleared, then controlloops to block 510 where the alarm will continue to display. If thealarm has been cleared by the user, then control transfers to block 512where the drive system is rewound by an incremental amount. Thisrewinding serves to decrease the reservoir fluid back pressure which inturn inhibits or prevents the delivery of an excessive bolus ofmedication should the user experience a series of occlusion alarmsbefore successfully clearing the occlusion.

Control then transfers to block 513 where an alarm flag is stored. Adetermination is made whether there have been an excessive number ofrecent alarms (block 514). If there have not, then control loops to thebeginning (block 501) where the above described process is repeated. Onthe other hand, if there have been an excessive number of recent alarms,control transfers to block 515 where an error or reset message isdisplayed to the user. This message typically would be used to advisethe user to contact the manufacturer or some authorized repair facilityto determine the cause of the excessive number of alarms. This errormessage will continue to be displayed until the error is cleared (block516) at which point control loops to the beginning (block 501) where theprocess is repeated.

Returning to block 501′, there are times when a full rewind of the drivesystem may be required. One instance would be when the medicationreservoir in the pump housing is empty and a new reservoir must beinserted. Thus, when it has been determined that rewinding of the drivesystem is desired (either by user command or otherwise), controltransfers to block 517 where power is applied to the pump motor. As themotor is running in a rewind direction, the pump motor current ismeasured (block 518). An alternative method would be to obtain theforward or driving baseline current by driving the system forward(possibly immediately following rewind) for some distance and recordingit, after which the system may need to be rewound again. Because themotor is running in the opposite direction (or forward followingrewind), typically there is little or no fluid pressure against whichthe pump motor is driving. Thus the current measured during this phasecan be used as a baseline for comparison in detecting occlusions.

Control transfers to block 519 where the previous average baselinecurrent value is retrieved from a storage location in memory (block 520)and an updated average baseline current is calculated. This updatedvalue is then placed in the storage location, (block 520), where it willbe available for the next current measurement and comparison at block508.

The value of repeatedly updating the average baseline current is toprovide a calibration against changing drive train friction forces. Thelead screw mechanism of many pump designs includes seals, a drive nut, alead screw/motor coupling, and a bearing. All of these components havefrictional properties. These properties are known to change over timeand thus the motor torque and current required to advance a reservoirplunger are likely to change. This therefore provides a more accuratebaseline against which current can be measured for the detection of anocclusion.

Although the foregoing description involved the measurement of motorcurrent, other motor parameters which vary with differing fluid backpressures can be measured with like effect. Such parameters may includemotor voltage, linear displacement, rotary displacement, torque, rotorspeed, and the like.

For example, one alternative embodiment of the occlusion detectorinvolves the use of a motor position encoder which can detect themotor's linear or rotational displacement. If for example, the encoderhas a resolution of 360 counts per motor revolution of a rotary motor,then with each motor revolution, the sensor will provide 360 encodersignal pulses. If the pump system were designed to require one completemotor revolution to deliver the desired increment of medication, thenthe motor can be controlled to stop when 360 encoder counts arereceived. Linear displacements of linear motors may be similarlydetected by suitable linear encoders or sensors.

Because motors have inertia, the power supplied to them must be removedprior to the actual stopping position in order for the motor to slow andstop. The slowing or deceleration can be accomplished in several waysincluding: (1) coasting which simply lets the applied and frictionaltorque slow the motor; or (2) dynamic braking which can be accomplishedfor example by shorting the motor leads or applying a potential in theopposite direction.

The applied torque affects the total rotational count. Thus as theapplied torque varies, so will the error from the desired 360 counts. Toaccount for a deviation from the target encoder count, a feedback loopis provided whereby the input power parameters to the motor, such asmotor voltage or current or the time during which power is applied tothe motor, may be adjusted.

In one embodiment, the motor is controlled based on the results of theprevious encoder count for each cycle. Thus, for example, if 360 encodercounts were desired, but only 350 were measured, then subsequent inputmotor parameters can be adjusted such that the running encoder averageis maintained at 360 counts. If a motor system was used with a DC motordriven with a constant current source or fixed source voltage, then themotor input parameter to be adjusted for maintaining the desired encodercount for the next pump cycle would be power on time.

For example, a motor may be driven such that half of the rotationaldisplacement (or 180 out of 360 counts) is due to power on time and theother half is due to the coasting down of the motor under a specifiednominal load (torque). Should the load increase, then the coasting woulddecrease thereby reducing the total encoder count measured for aconstant power input. For example, the system may measure 350 countsrather than the target value of 360 counts. To maintain medicationdelivery accuracy therefore, the subsequent motor increment during thenext pump cycle may be increased above the 180 encoder count for thepower on time so that the running average is maintained at 360 for theentire pump cycle.

Yet another embodiment of the occlusion detector uses an encoder countto determine torque. In this embodiment, torque is a function of encodercount and one or more motor input power parameters. Motor load torquecan be determined by evaluating the stored encoder count for a knowndelivered amount of energy. The detector system provides a known amountof energy (i.e., power times motor on-time), and records the motordisplacement via the number of encoder counts obtained. Using a look-uptable or calculated value, the system determines a corresponding torquethat would result from the recorded number of encoder pulses for theamount of energy supplied.

For example, if the motor were running for a certain amount of time,this might result in an encoder count of 360. Later, the motor might runfor the same amount of time under the same voltage and currentconditions, but an encoder count of 350 may result. Thus the systemwould have encountered increased torque as reflected by the reducedencoder count. A lookup table or calculated value of torque vs. encodercount and input power parameters can thereby be developed and used tomeasure motor torque.

In summary, preferred embodiments disclose a method and apparatus forautomatically detecting an occlusion or drive system failure in amedication infusion pump system. The electrical current to an infusionpump is measured and compared against a baseline average current. If thecurrent exceeds a threshold amount, an alarm is triggered.Alternatively, pump motor encoder pulses are measured during a pumpcycle. If the number of pulses does not correspond to a normal range, analarm is triggered. Alternatively, a system torque value is determinedfrom the measurement of pump motor encoder pulses during a pump cycle.If the system torque value exceeds a maximum threshold value, an alarmis triggered. In preferred embodiments, after any alarm is triggered,the pump motor is driven in reverse for an incremental distance in orderto relieve the fluid pressure in the system. Alternatively, the pumpmotor is not reversed.

In another aspect of the present invention, the above discussed drivesystem allows for improved pressure sensing, occlusion detection, andother error detection systems. Relevant text from U.S. application Ser.No. 09/819,208 filed on Mar. 27, 2001, now issued as U.S. Pat. No.6,485,465, which was incorporated by reference, describes the pressuresensing system and occlusion detection system as follows:

In preferred embodiments, a programmable controller regulates power froma power supply to a motor. The motor actuates a drive train to displacea slide coupled with a stopper inside a fluid filled reservoir. Theslide forces the fluid from the reservoir, along a fluid path (includingtubing and an infusion set), and into the user's body. In preferredembodiments, the pressure sensing system is used to detect occlusions inthe fluid path that slow, prevent, or otherwise degrade fluid deliveryfrom the reservoir to the user's body. In alternative embodiments, thepressure sensing system is used to detect when: the reservoir is empty,the slide is properly seated with the stopper, a fluid dose has beendelivered, the infusion pump is subjected to shock or vibration, theinfusion device requires maintenance, or the like. In furtheralternative embodiments, the reservoir may be a syringe, a vial, acartridge, a bag, or the like.

In general, when an occlusion develops within the fluid path, the fluidpressure increases due to force applied on the fluid by the motor anddrive train. As power is provided to urge the slide further into thereservoir, the fluid pressure in the reservoir grows. In fact, the loadon the entire drive train increases as force is transferred from themotor to the slide, and the slide is constrained from movement by thestopper pressing against the fluid. An appropriately positioned sensorcan measure variations in the force applied to one or more of thecomponents within the drive train. The sensor provides at least threeoutput levels so measurements can be used to detect an occlusion andwarn the user.

In preferred embodiments, a sensor is a force sensitive resistor, whoseresistance changes as the force applied to the sensor changes. Inalternative embodiments, the sensor is a capacitive sensor,piezoresistive sensor, piezoelectric sensor, magnetic sensor, opticalsensor, potentiometer, micro-machined sensor, linear transducer,encoder, strain gauge, and the like, which are capable of measuringcompression, shear, tension, displacement, distance, rotation, torque,force, pressure, or the like. In preferred embodiments, the sensor iscapable of providing an output signal in response to a physicalparameter to be measured. And the range and resolution of the sensoroutput signal provides for at least three levels of output (threedifferent states, values, quantities, signals, magnitudes, frequencies,steps, or the like) across the range of measurement. For example, thesensor might generate a low or zero value when the measured parameter isat a minimum level, a high or maximum value when the measured parameteris at a relatively high level, and a medium value between the low valueand the high value when the measured parameter is between the minimumand relatively high levels. In preferred embodiments, the sensorprovides more than three output levels, and provides a signal thatcorresponds to each change in resistance in a sampled, continuous, ornear continuous manner. The sensor is distinguished from a switch, whichhas only two output values, and therefore can only indicate two levelsof output such as, ‘on’ and ‘off,’ or ‘high’ and ‘low.’

Preferred embodiments of the present invention employ a force sensitiveresistor as the sensor, which changes resistance as the force applied tothe sensor changes. The electronics system maintains a constant supplyvoltage across the sensor. The output signal from the sensor is a signalcurrent that passes through a resistive material of the sensor. Sincethe sensor resistance varies with force, and the supply voltage acrossthe sensor is constant, the signal current varies with force. The signalcurrent is converted to a signal voltage by the electronics system. Thesignal voltage is used as a measurement of force applied to a drivetrain component or fluid pressure in the reservoir. In alternativeembodiments, a constant supply current is used and the signal voltageacross the sensor varies with force (fluid pressure). In furtheralternative embodiments, other electronics systems and/or other sensorsare used to convert fluid pressure or forces into a measurement used bythe electronics system to detect occlusions in the fluid path.

In preferred embodiments, the design and method for mounting the sensormust: sufficiently limit unintended movement of the slide with respectto the reservoir; minimize space between components; be rigid enough forthe sensor to immediately detect small changes in force; avoidpreloading the sensor to the point that the sensor range is insufficientfor occlusion, seating, and priming detection; provide sufficientresolution for early occlusion detection; compensate for sensor systemand drive train component dimensional tolerance stack-up; allowsufficient movement in components of the drive system to compensate formisalignments, eccentricities, dimensional inconsistencies, or the like;avoid adding unnecessary friction that might increase the power requiredto run the drive system; and protect the sensor from shock and vibrationdamage.

Generally, once the infusion set is primed and inserted into the user'sbody, the slide must not be permitted to move in or out of the reservoirunless driven by the motor. If the motor and/or drive train componentsare assembled in a loose configuration that allows the slide to movewithin the reservoir without motor actuation, then if the infusion pumpis jolted or bumped, fluid could be inadvertently delivered.Consequently, the sensor and/or components associated with mounting thesensor are generally positioned snugly against the drive train componentfrom which force is being sensed, thus preventing the drive traincomponent from moving when the infusion pump is subjected to shock orvibration.

In preferred embodiments, the sensor is positioned so that as soon asthe pump motor is loaded during operation, a drive train componentapplies a load to the sensor. Minimizing space between the sensor andthe load-applying drive train component improves the sensor'ssensitivity to load fluctuations. Small changes in load may be used todetect trends, and therefore provide an early warning that a blockage isdeveloping before the fluid delivery is stopped entirely.

In preferred embodiments, the sensor and associated electronics areintended to measure forces between 0.5 pounds (0.23 kg) and 5.0 (2.3 kg)pounds with the desired resolution of less than or equal to 0.05 pounds.Yet, the infusion pump including the sensor should survive shock levelsthat result in much higher forces being applied to the sensor than theintended sensor measurement range. In alternative embodiments, thesensor range is from zero to 10 pounds (4.5 kg). In other alternativeembodiments, the sensor range and/or resolution may be greater orsmaller depending upon the concentration of the fluid being delivered,the diameter of the reservoir, the diameter of the fluid path, the forcerequired to operate the drive train, the level of sensor noise, thealgorithms applied to detect trends from sensor measurements, or thelike.

In preferred embodiments, the sensor and associated electronics providea relatively linear voltage output in response to forces applied to thesensor by one or more drive train components. An example of measuredvoltages from the sensor, (and its associated electronics) in responseto forces ranging from 0.5 pounds to 4.0 pounds, are shown as datapoints 201-208 in FIG. 20.

In preferred embodiments, each sensor is calibrated by collectingcalibration points throughout a specified range of known forces, such asshown in FIG. 20. A measured voltage output for each known force isstored in a calibration lookup table. Then, during pump operation, thevoltage output is compared to the calibration points, and linearinterpolation is used convert the voltage output to a measured force.Preferably, eight calibration points are used to create the calibrationlookup table. Alternatively, more or fewer calibration points are useddepending on, the sensor linearity, noise, drift rate, resolution, therequired sensor accuracy, or the like. In other alternative embodiments,other calibration methods are used such as, curve fitting, a look uptable without interpolation, extrapolation, single or two pointcalibration, or the like. In further alternative embodiments, thevoltage output in response to applied forces is substantiallynon-linear. In further alternative embodiments, no calibrations areused.

In preferred embodiments, sensor measurements are taken just prior tocommanding the drive system to deliver fluid, and soon after the drivesystem has stopped delivering fluid. In alternative embodiments, sensordata is collected on a continuous basis at a particular sampling ratefor example 10 Hz, 3 Hz, once every 10 seconds, once a minute, onceevery five minutes, or the like. In further alternative embodiments, thesensor data is only collected just prior to commanding the drive systemto deliver fluid. In still further alternative embodiments, sensor datais collected during fluid delivery.

In preferred embodiments, two methods are employed to declare occlusionsin the fluid path, a maximum measurement threshold method, and a slopethreshold method. Either method may independently declare an occlusion.If an occlusion is declared, commands for fluid delivery are stopped andthe infusion pump provides a warning to the user. Warnings may include,but are not limited to, sounds, one or more synthesized voices,vibrations, displayed symbols or messages, video, lights, transmittedsignals, Braille output, or the like. In response to the warnings, theuser may choose to replace one or more component in the fluid pathincluding for example the infusion set, tubing, tubing connector,reservoir, stopper, or the like. Other responses that the user mighthave to an occlusion warning include: running a self test of theinfusion pump, recalibrating the sensor, disregarding the warning,replacing the infusion pump, sending the infusion pump in for repair, orthe like. In alternative embodiments, when an occlusion is detected,attempts for fluid delivery are continued, and a warning is provided tothe user or other individuals. In further preferred embodiments, aseries of at least two measurements of the same variable is taken andused to determine whether there is an occlusion. An average or weightedaverage may be used in either the maximum measurement threshold methodor the slope threshold method.

When using the maximum measurement threshold method, an occlusion isdeclared when the measured force exceeds a threshold. In preferredembodiments, a threshold of 2.00 pounds (0.91 kg) is compared to forcevalues measured by the sensor before delivery of fluid. If a measuredforce is greater than or equal to 2.00 pounds (0.91 kg), one or moreconfirmation measurements are taken before fluid delivery is allowed. Iffour consecutive force measurements exceed 2.00 pounds (0.91 kg), anocclusion is declared. In alternative embodiments, a higher or lowerthreshold may be used and more or less confirmation readings may becollected before declaring an occlusion depending upon the sensor signalto noise level, the electronics signal to noise level, measurementdrift, sensitivity to temperature and/or humidity, the force required todeliver fluid, the maximum allowable bolus, the sensor's susceptibilityto shock and/or vibration, and the like. In further alternativeembodiments, the maximum measurement threshold method is not used. Instill further alternative embodiments, fluid delivery is allowed for oneor more measurements that exceed a threshold, but fluid delivery is notallowed and an occlusion is declared after a predetermined number ofconsecutive measurements exceed the threshold.

As mentioned previously, the use of sensors, which provide a spectrum ofoutput levels, rather than a switch, which is capable of providing onlytwo discrete output levels, allows the use of algorithms to detecttrends in the output, and thus, declare an occlusion before the maximummeasurement threshold is reached. In preferred embodiments, the slopethreshold method is used to evaluate trends to provide early occlusiondetection. When using the slope threshold method, an occlusion isdeclared if a series of data points indicate that the force required forfluid delivery is increasing. A slope is calculated for a line passingthrough a series of consecutive data points. If the slope of the lineexceeds a slope threshold, then pressure is increasing in the fluidpath, and therefore, an occlusion may have developed. When nothing isblocking the fluid path, the force measured by the sensor before eachdelivery remains relatively constant, and the average slope is generallyflat.

In particular embodiments as seen in FIG. 21, a sensor 706 is used todetect when a slide 711 is properly seated with a stopper 714. Thereservoir 715 containing the stopper 714 is filled with fluid before itis placed into an infusion pump 701. The stopper 714 has pliableinternal threads 713 designed to grip external threads 712 on the slide711. The stopper 714 and slide 711 do not need to rotate with respect toeach other to engage the internal threads 713 with the external threads712. In fact, in particular embodiments, the internal threads 713, andthe external threads 712, have different thread pitches so that somethreads cross over others when the slide 711 and stopper 714 are forcedtogether. Once the reservoir 715 is placed into the infusion pump 701, amotor 705 is activated to move the slide 711 into the reservoir 715 toengage the stopper 714. As the threads 712 of the slide 711 firstcontact the threads 713 of the stopper, a sensor 706 detects an increasein force. The force continues to increase as more threads contact eachother. When the slide 711 is properly seated with the stopper 714, theforce measured by the sensor 706 increases to a level higher than theforce needed to engage the internal threads 713 with the externalthreads 712. During the seating operation, if the force sensed by thesensor 706 exceeds seating threshold, the motor 705 is stopped untilfurther commands are issued. The seating threshold is generally about1.5 pounds (0.68 kg). In alternative embodiments higher or lower seatingthresholds may be used depending on the force required to mate the slidewith the stopper, the force required to force fluid from the reservoir,the speed of the motor, the sensor accuracy and resolution, or the like.In some embodiments, no force is needed to mate the slide with thestopper, because the slide only pushes on the stopper and is not grippedby the stopper.

In still other particular embodiments, other force thresholds are usedfor other purposes. During priming for example, a threshold of about 4pounds (2 kg) is used. In alternative embodiments, forces greater thanabout 4 pounds are used to detect shock loads that may be damaging to aninfusion pump.

Although the use of force sensitive resistors and capacitive sensorshave been described above, it should be appreciated that the embodimentsdisclosed herein include any type of sensor that can provide least threedifferent levels of output signal across the range of intended use.Sensors may be positioned within various embodiments of drive trains tomeasure either a force applied to a drive train component, a change inposition of a drive train component, a torque applied to a drive traincomponent, or the like.

For example, in alternative embodiments a piezoelectric sensor is usedto produce varying voltages as a function of varying forces applied to adrive train component. In particular alternative embodiments, thepiezoelectric sensor is made from polarized ceramic or PolyvinylideneFluoride (PVDF) materials such as Kynar®, which are available from AmpIncorporated, Valley Forge, Pa.

The previously described embodiments generally measure fluid pressure orforces exerted in an axial direction down the drive train. Alternativeembodiments of the present invention however, measure a torque appliedto a drive system component as an indication of the fluid pressurewithin a reservoir.

In other particular embodiments as seen in FIG. 22, a motor 2301 (or amotor with an attached gear box) has a drive shaft 2302 engaged to drivea set of gears 2303. The motor 2301 generates a torque powering thedrive shaft 2302 in direction d. The drive shaft 2302 rotates the gears2303 to transfer the torque to a lead screw 2304, rotating the leadscrew 2304 in the direction d′. The lead screw 2304 is mounted on abearing 2305 for support. The threads of the lead screw 2304 are engagedwith threads (not shown) in a slide 2306. The slide 2306 is engaged witha slot (not shown) in the housing (not shown) to prevent the slide 2306from rotating, but allowing it to translate along the length of the leadscrew 2304. Thus, the torque d′ of the lead screw 2304 is transferred tothe slide 2306 causing the slide 2306 to move in an axial direction,generally parallel to the drive shaft 2302 of the motor 2301. The slide2306 is in contact with a stopper 2307 inside a reservoir 2308. As theslide 2306 advances, the stopper 2307 is forced to travel in an axialdirection inside the reservoir 2308, forcing fluid from the reservoir2308, through tubing 2309, and into an infusion set 2310.

Should an occlusion arise, the stopper 2307 is forced to advance, andpressure in the reservoir 2308 increases. The force of the stopper 2307pushing against the fluid results in a reaction torque d″ acting on themotor 2301. In particular embodiments, sensors are used to measure thetorque d″ applied to the motor 2301, and the sensor measurement is usedto estimate the pressure in the reservoir 2308.

In other particular embodiments as shown in FIGS. 23(a and b), a motor2401 has a motor case 2402, a proximate bearing 2403, a distal bearing2404, a motor shaft 2408, and a gear 2405. The motor 2401 is secured toa housing (not shown) or other fixed point by a beam 2406. One end ofthe beam 2406 is secured to the motor case 2402 at an anchor point 2410,and the other end of the beam 2406 is secured to the housing (not shown)at a housing anchor point 2409. A strain gauge sensor 2407 is mounted onthe beam 2406.

Each end of the motor shaft 2408 is mounted on the bearings 2403 and2404 that provide axial support but allow the motor shaft 2408 and motor2401 to rotate. The beam 2406 supplies a counter moment in the directiond′ that is equal in magnitude and opposite in direction to the motordriving torque d. As the torque produced by the motor 2401 increases,the reaction moment d″ in the beam 2406 increases, thereby increasingthe strain within the beam 2406 and causing the beam 2406 to deflect.The strain gauge sensor 2407 mounted on the beam 2406 is used to measuredeflection of the beam 2406. The electronics system (not shown) convertsthe strain gauge sensor measurements to estimates of fluid pressure in areservoir (not shown) or force acting on the drive train (not shown).

This method of measurement provides information about the pressurewithin the reservoir (and frictional stack-up), as well as informationabout the drive train. If for example, there were a failure within thedrive train such as, in the gearing, bearings, or lead screw interface,the torque measured at the strain gauge sensor 2407 would detect thefailure. In further embodiments, the strain gauge 2407 is used toconfirm motor activation and fluid delivery. During normal fluiddelivery, the measured moment increases shortly while the motor isactivated, and then decreases as fluid exits the reservoir relievingpressure and therefore the moment. The electronics system is programmedto confirm that the measured moment increases during motor activationand that the moment decreases back to a resting state after the motor isno longer powered.

The above excerpts from the incorporated references (i.e. U.S. patentapplication Ser. No. 09/428,411, filed Oct. 28, 1999, now issued U.S.Pat. No. 6,362,591 and U.S. application Ser. No. 09/819,208 filed onMar. 27, 2001, now issued as U.S. Pat. No. 6,485,465) describedocclusion detection and fluid pressure sensing systems in ambulatorypumps using a sensor that is able to detect changes in the forcerequired to deliver fluid from the reservoir of the infusion pump. Thedescribed circuitry detects changes in the force on the sensor, whichcan be used to indicate when the slide is properly seated in thereservoir or to detect when occlusions occur during the delivery offluid from the infusion pump. The same circuitry is also described to beable to measure the current used by the drive system to deliver fluid tothe user. In addition, a motor position encoder was described which canbe used to detect the motor's linear or rotational displacement toassist in the occlusion detection and to measure motor torque.

According to further embodiments of the present invention, the samecircuitry described above can be used to detect a failure in the forcesensor by using current measurements to detect when the force sensor ismalfunctioning. The force sensor a broad term that includes one or moreof the sensor itself, the circuitry to interpret the data from thesensor and the physical structure to support the sensor. Any problem inthe force sensor system that causes inaccurate readings from the sensorwill be identified as a problem with the force sensor. Slightmodifications of the circuitry in terms of increasing the gain amplifierand using a lower frequency filter to reduce high frequency noise wasfound effective to sample current values delivered to the motor todetect a force sensor malfunction. The force sensing system canmalfunction for a variety of reasons including, but not limited to,water damage or a crack in the infusion-pump casing. A critical time fordetecting a force sensing system failure is during the seating of theslide with the stopper inside the reservoir (i.e., when the motor isactivated for the first time after loading the reservoir within theinfusion pump). As described previously, the electronics circuitryprocesses the sensor output levels to detect an increase in the force asthe slide engages the stopper, to determine that the slide is properlyseated in the stopper. However, if the force sensor system (or “forcesensor” generally) is broken, then the electronics system will notdetect when the slide is seated in the stopper and the slide canpotentially continue to advance until it reaches end of travel and thestopper has forced virtually all fluid from the reservoir. This can havecatastrophic results if the user is connected to the pump and the pumpdispenses all the fluid (e.g. insulin) from the reservoir into thepatient. The overdose may be enough to fatally harm or severely injurethe user.

According to a preferred embodiment of the present invention, a softwarealgorithm described in FIGS. 24 and 25 is used to detect a malfunctionin the force sensor using the current measurements to drive the motorand the motor position encoder as a check for the force sensor. Thesoftware algorithms described in FIGS. 24 and 25 are run by the infusionpump controller each time the plunger slide is moved forward to seatwith the stopper in the reservoir. Any time the force sensor detects anincrease in force greater than a set value (i.e. detects the seating ofthe plunger slide in the stopper), the software algorithms of FIGS. 24and 25 are stopped during the running of the software logic. In otherwords, the logic of FIGS. 24 and 25 only applies before the force sensordetects a force greater than a set threshold (i.e. never detects aseating with the stopper).

Starting at block 3000 of FIG. 24, the current used to drive the motor,the force exerted on the force sensor, and the motor position encodercounts to determine the movement of the plunger slide are measuredduring the seating process of the plunger slide (i.e. when the plungerslide is inserted into the stopper). At block 3010, the softwarecalculates the average current delivered to the motor to return thevalue of Average Current. In preferred embodiments, a Hi-Lo AverageCurrent (HLAC) is used. The HLAC is calculated by discarding the highestand lowest current values from the five latest values and then averagingthe remaining three current values. An example of the HLAC calculationis shown in FIG. 25. However, in alternative embodiments, other methodsof calculating the average current can be used including using more orless than the five latest current values and/or discarding fewer or morecurrent values.

As seen in FIG. 25, an example of the Hi-Lo Average Current calculationstarts at block 3200, when it receives a command from block 3010 of FIG.24 to calculate the HLAC. According to preferred embodiments, thecurrent to the drive motor is sampled until the motor is turned off. Atypical sampling rate is once every 70 milliseconds. The total currentthat was used to run the motor is stored as a current value in acircular buffer. The current can be sampled less or more frequently. Thelatest five current values (i.e. Current [0]), Current [1], Current [2],Current [3], and Current [4]) in the current buffer are used todetermine the Average Current. At block 3210, the initial parametersused for the calculations are all set to zero except for the High andLow values, which are set to the present Current value (i.e.High=Current [present], Low=Current [present], Count=0, AverageCurrent=0, and Sum=0).

At block 3220, the logic makes sure that five current values areavailable for use in the calculation (i.e. Count>4?). As stated earlier,the number of currents can be modified in alternative embodiments to begreater or less than five. Initially, there are fewer than five currentvalues available in the circular buffer (i.e. Count≦4), so the logicproceeds to block 3230 since the Count is not greater than four. Atblock 3230, all of the current values are added together to create a Sumof the current values, with the current at the current count is added tothe Sum each time the logic reaches block 3230. In the first run of thelogic, the first current value (i.e. current [0]) is automatically addedto the sum. The logic proceeds to block 3240 where the softwareidentifies the highest of the latest five current values. Similarly, thelogic of block 3260 identifies the lowest of the latest five currentvalues. In the first run of the logic, the parameters Count, High, andLow were set to zero at block 3210. Thus, at block 3240, Current [0](i.e. Current [Count]) is not greater than Current [0] (i.e. Current[High]), so the logic proceeds to block 3260. Similarly, at block 3260,Current [0] (i.e. Current [Count]) is not less than Current [0] (i.e.Current [Low]), so the logic proceeds to block 3280. At block 3280, theCount is then increased by one.

With the Count set at 1 at block 3220, the logic again proceeds to block3230. At block 3230, the value of the Current [1] is added to the Sum atblock 3230 and the logic proceeds to block 3240. At block 3240, thelogic determines if Current [Count] is greater than the existing Current[High]. If Current [Count] is greater than the existing Current [High],then at block 3250, the parameter High is set equal to Count, markingthat the Current [Count] is the highest current. The logic thenincreases the Count by 1 at block 3280 and proceeds back to block 3220.Thus, for example, if Current [1] is higher than Current [0], then theparameter High would be set to 1, marking Current [1] has the highestcurrent received. On the other hand, if Current [Count] is lower thanCurrent [High], then the logic proceeds to block 3260. At block 3260,the logic determines if Current [Count] is less than the existingCurrent [Low]. Thus if Current [Count] is less than the existing Current[Low], then at block 3270, the parameter Low is set equal to the Count,marking that the Current [Count] is the lowest current. The logic thenincreases the Count by 1 at block 3280 and proceeds back to block 3220.Thus, for example, if Current [1] is lower than Current [0], then theparameter Low would be set to 1, marking Current [1] as the lowestcurrent received. Future iterations of the logic of blocks 3240, 3250,3260 and 3270 will identify the high and low currents out of the fivecurrents used to calculate the Average Current.

Once five currents are measured and compared to determine the high andthe low currents, the logic of 3220 will then calculate the AverageCurrent at block 3290. At block 3290, the Sum, which has added all ofthe five current values together, will subtract the Current [High] andCurrent [Low] and divide the remaining sum by 3. At block 3300, theAverage Current Calculation will be returned to block 3010 of FIG. 24and used as the Average Current in the logic of FIG. 24.

Referring back to FIG. 24, the Average Current is compared with theCurrent Threshold at block 3020. A value of the Average Current greaterthan the Current Threshold triggers the broken force sensor softwarealgorithm. The Current Threshold is a unique value initially can beassigned to each insulin pump based on pre-testing of the pump beforethe insulin pump is issued to a user. It is also possible that there isa threshold set for all devices that does not require any testing of theindividual device to determine. The Current Threshold is used toindicate the current used when the plunger slide seats within thereservoir. Each insulin pump will have slightly different values becausethe raw material used within the insulin pump will have slightlydifferent physical characteristics resulting in differing CurrentThreshold values. In preferred embodiments, the following test isperformed to derive the Current Threshold to ensure the softwarealgorithm will function properly. The test applies a constant 3 lb forceto the pump slide as the pump performs a seating, where both force andcurrent are measured. The current values will be processed using a Hi-LoAverage Current algorithm like the one discussed earlier and will havethe first and last 20 measurements thrown out. In alternativeembodiments, a larger or smaller number of first and last measurementsmay be thrown out. These samples are thrown out to account for thesystem not coming to steady state for the first samples and slowing downfor the last samples, making the current and force values not constant.The current values will be sampled at the same rate as it is in theapplication code (e.g. every 70-90 milliseconds). These values will thenbe averaged and stored for application code. The force measurements willalso be measured and averaged, but without removing data or using theHi-Lo averaging. The Average Force will be compared to 3 lbs and if itis not within 2.4 and 3.6 lbs an error will be flagged and the pump willstate that the force calibration was not accurate. Alternatively, theAverage Force can be compared to a larger or smaller force than 3 lbs,and the tolerances can be ranged from greater or less than 0.6 lbs fromthe force to which the Average Force is compared. If this occurs, theCurrent Threshold value is considered invalid and is not stored and thepump is rejected. If there is no error with the force value, both theCurrent Threshold and the Average Force is stored in the pump. In stillfurther embodiments, the values of the Current Threshold and the AverageForce can also be displayed after the test is complete using the user'sactuation keys. Moreover in still further embodiments, the user usingthe same test programmed within the insulin pump can periodicallyrecalibrate the Current Threshold.

Returning to block 3020 of FIG. 24, if the Average Current is notgreater than the Current Threshold, the logic identifies that the slidehas not been seated in the reservoir yet and proceeds to block 3030. Atblock 3030, the Encoder Count (EC) is reset. The Encoder Count is thecount recorded by the motor position encoder to measure the movement ofthe slide. In preferred embodiments the encoder can record the rotationsof the motor and the lead screw. For example, in preferred embodiments,there are 256 counts per revolution of a DC motor and approximately 221revolutions of the motor per lead screw revolution. In the algorithm ofFIG. 24, the Encoder Count is based on the number of revolutions of theDC motor times the number of revolutions of the lead screw. However, inother embodiments, the encoder can count only the revolutions of themotor, and the number of counts per revolution can vary based on theinfusion pump mechanism or method of counting. In further embodiments,the use of an Encoder Count may be omitted from the softwarecalculations.

Once the Encoder Count is reset, the logic proceeds to block 3040. Atblock 3040, the parameters, Encoder Count Difference and TimeDifference, are set to zero. The Encoder Count Difference and TimeDifference are set to zero to indicate that the plunger slide has notyet engaged the reservoir during seating, and the logic is set to repeatback to block 3010. Specifically, when the logic proceeds to block 3070,the Encoder Count Difference is compared to see if it is greater thanthe Encoder Count Threshold. In the preferred embodiment the EncoderCount Threshold is set at 60,000. 60,000 is the approximate value of thecount if 10 units of RU-100 insulin is expelled from the reservoir oncethe plunger slide is seated in the reservoir. In alternativeembodiments, the Encoder Count Threshold level can be set at differentlevels, especially with the use of different types of insulin,medications, fluids, or drug. However, in this case, where the EncoderCount Difference is set to zero, the logic proceeds to block 3080 sincethe Encoder Count Difference is less than the Encoder Count Threshold.At block 3080, the Time Difference is compared to the Time Threshold. Inthe preferred embodiments, the Time Threshold is set at 3 seconds. TheTime Threshold is a backup to the Encoder Count Threshold to estimatethe amount of advancement of the plunger slide based on the time themotor was actuated. In this case, the Time Difference is set to zero,and thus, the logic proceeds to block 3100 to indicate that no errorswith the force sensor were detected. From block 3100, the logic loopsback to block 3010 to determine the latest Average Current.

Once the Average Current exceeds the Current Threshold at block 3020,the logic recognizes that the seating of the plunger slide in thereservoir has occurred. The logic proceeds to block 3050 to determine ifthe Average Current was above the Current Threshold last check. Thelogic of block 3050 uses the current to determine whether the seating ofthe plunger slide has just occurred or whether the plunger slide hasalready been seated. If the plunger slide has just been seated (i.e.this was the first time the Average Current was above the CurrentThreshold at block 3050), the logic proceeds to block 3040 where theparameters EC difference and Time Difference are set to zero. The logicthen loops back to block 3010 as discussed above without indicating anyerrors with the force sensor. On the other hand, if the logic of block3050 determines that the seating has already occurred previously, thelogic proceeds to block 3060.

At block 3060, the parameters Encoder Count Difference and TimeDifference are calculated. The Encoder Count Difference determines thenumber of additional encoder counts since the pump first detectedseating of the plunger slide (i.e. the number of encoder counts sincethe Average Current has risen above the Current Threshold and staysabove the Current Threshold). In addition, the Time Differencedetermines the amount of time that has passed since the pump firstdetected seating of the plunger slide (i.e. the time since the AverageCurrent has risen above the Current Threshold and stays above theCurrent Threshold). The calculated parameters are then compared to theEncoder Count Threshold in block 3070 and the Time Difference Thresholdin block 3080. If either the Encoder Count Threshold in block 3070 orthe Time Difference Threshold in block 3080 is exceeded, a failure withthe force sensor is detected and reported at block 3090. Of course, asmentioned above, if the force sensor detects an increase in force anytime during the algorithm of FIG. 24 that signals the proper seating ofthe plunger slide in the reservoir, no error will be detected for theforce sensor.

Therefore, the software algorithm of FIG. 24 is designed to determine anerror with the force sensor when it does not report an increase in force(i.e. a force greater than the Low Force Value preset in each infusionpump to indicate seating of the plunger slide) even though the currentuse would indicate that a higher force should be detected. Therefore thefollowing two scenarios will occur with the existing algorithm. Thefirst is the case of a good sensor when during seating the force risesabove 1.4 lbs on the force sensor while the Average Current remainedbelow the Current Threshold before the seating occurred, or the currentis above the Average Current but not for the required number of encodercounts before the force of 1.4 lbs is reached. In this first case, thepump seats the plunger slide in the reservoir and flags no errors. Inthe second case, during seating of the plunger slide, the AverageCurrent reaches the Current Threshold and remains above the CurrentThreshold while the force is never greater than Low Force Value beforethe specified number of Encoder Counts is reached. In this case, theforce sensor is detected as having failed once the pump reaches thespecified number of Encoder Counts.

In alternative embodiments, the algorithm of FIG. 24 can be modified todetect when the sensor performance is starting to fail (i.e. a marginalsensor) such that the force reading increases above the Low Force Value,but does not increase above a Force Threshold (i.e. a value preset withthe infusion pump to indicate a seating of the plunger slide in thereservoir) to clearly indicate that the seating has occurred. Anotheralternative embodiment may modify the algorithm to account for caseswhere during seating the Average Current reaches its threshold but thendrops back down below the threshold. Each time the Average Current dropsbelow the threshold the Encoder Count threshold is restarted. However ifthis happens three or more times, on the third occurrence, the EncoderCount threshold should not be re-set and the pump should continue toseat only for the specified Encoder Count threshold. These softwarealgorithms may also take into account the users ability to start andstop seating of the plunger slide at will so that even if they stop andthen restart the seating process as long as there is no rewind, the pumpwill recognize if the threshold has been reached three times.

In further embodiments, the infusion pump also performs a data storagefunction to record data surrounding the various step-by-step functionsof the infusion pump. Thus, upon each instance of seating, the datastorage function records the values of force and current detected andstores that information into the long-term trace buffer. In addition, ifthe Current Average ever reaches the Current Threshold, each subsequentmeasurement of force and current should also be stored in the long-termtrace buffer until the pump seats or flags an error. Moreover, everytime the current threshold is passed and the alarm is flagged, end ofvial reached, force threshold passed, or the pump seats the plungerslide in the reservoir, these data points are recorded and a trace canbe produced from the collected data points to analyze the data.

In further embodiments, multiple variables are used to detect anocclusion or obstruction. By using two or more variables, the systemavoids any problems that may occur from using one variable alone. Forexample, if force alone is used to detect occlusions, a broken forcesensor could cause false occlusions to be detected or actual occlusionsto be missed. This could result in missed doses or excessively largeamounts of medication to be delivered to a patient. The same potentialproblems can occur by using any one parameter as the basis of occlusiondetection of the system.

Using two or more variables to determine an occlusion can shorten thetime to recognize an occlusion and/or increase the accuracy of occlusiondetection. It is preferable to have a system that minimizes the numberof false alarms but also decreases the time to indicate an occlusion. Bydecreasing the time to indicate an occlusion, it is possible to reducethe number of missed doses.

There are many variables that can be used in a multi-variable occlusiondetection approach. Examples of such variables are properties and/orparameters of the system, pump and/or motor, such as pressure, deliveryvolume, force, drive current, drive voltage, drive time of the motor,coast time of the motor, energy of the delivery pulse, and variablesfrom the closed loop delivery algorithm, such as drive count, coastcount, and delta encoder count. All of these variables are possible tobe measured from the circuitry described above, however it is alsopossible to add circuitry to measure any of these or additionalvariables if desired.

Force is generally measured from a force sensor, which is described inembodiments above. Also described in embodiments above is the drivecurrent of the motor, which is the amount of current applied to themotor and can be measured from the force sensitive resistor. Drivevoltage is the measure of voltage applied to the motor and can also bemeasured from the force sensitive resistor, which for example measuresthe voltage across the motor windings. Drive time of the motor is time,for example in seconds or milliseconds, for which the motor is poweredon (i.e., power is supplied to the motor). Coast time of the motor isthe time, for example in seconds or milliseconds, that the motorcontinues to coast or move after the motor was powered off until the endof the delivery pulse. The energy of the delivery pulse is a product ofdrive voltage and drive current, which may be calculated by a computingdevice.

Drive count and coast count are each encoder counts, which are discussedabove. Drive count increases as the time that the motor is powered onincreases, and coast count increases as the time that the motor iscoasting after the motor is powered off increases. Drive count and coastcount together are equal to the delta encoder count, or change in theencoder count from a delivery pulse.

Two or more of the variables described above can be combined in manydifferent ways. For example, they may be multiplied together or addedtogether. If more than two variables are used, some of the variables maybe added in conjunction with multiplication of other variables. Forexample, one or more variables may be multiplied by a weightingcoefficient before summing them. The rate of change of one or morevariables may be increased by putting the magnitude of the variable to apower. For example, if F=measured force, it would be possible toincrease the magnitude of measured force by F^(X), where X=a desiredpower. Putting magnitudes of variables to powers may be used inconjunction with multiplying and/or adding variables together.

When combining the variables, it may also be useful to filter the databy using averaged values or by using averaged values taken afterexcluding high and low readings. For example, if one data point is faroutside the range of average data points taken nearby, it may be usefulto discard that data point. Additional examples of filtering data thatmay be used are clipping data at a maximum or minimum value, limitingrate of change between values, and calculating trend and, if the trendis consistent, using fewer values.

Normalization factors can also be used to set the magnitude of differentvariables to similar levels, so that they can be used in conjunctionwith each other. For example, in one embodiment, the non-occludedrunning force is about 0.5 pounds, the occluded force is about 2.0pounds, the non-occluded drive count is approximately 47, and theoccluded drive count is approximately 100. These values can bedetermined for an individual pump based on pre-testing of the pumpbefore issuance to a user, or average values for certain pumpconfigurations can be determined. Further, it is possible to vary thedependency of the occlusion detection on each variable. For example, itmay be desirable to have occlusion detection depend equally on force andon current. However, it may be desirable to have occlusion detectiondepend more on force in those instances where force is a betterindicator of occlusion.

In one embodiment of a multi-variable occlusion detection approach, thevariables drive count and force are both used to detect occlusions.While the pressure increases from an occlusion, the force required tomove the slide forward increases. The increased pressure results in anincreased force reading by the force sensor. The increased force alsoresults in an increased drive count necessary to reach the targetencoder count for each delivery pulse. Multiplying drive count and forceor adding these variables increases the magnitude of occlusionindication.

FIG. 26 shows a graph illustrating the difference in magnitude between asingle variable versus multi-variable occlusion detection approach. Anocclusion 2601 begins between 40 and 60 delivery pulses. The graph showsdata for two different approaches based on a single variable. The firstseries of data 2602 is based on the single variable-force, which ismeasured by the force sensor. For this single variable approach based onforce, the occlusion was identified using a maximum threshold method attwo variable magnitudes 2603. The second series of data 2604 is alsobased on a single variable—the drive count divided by a normalizationfactor of fifty. The third series of data 2605 is based on both of thesevariables—force and normalized drive count, which are multipliedtogether and then an offset is added to the product of the twovariables. The equation used to create this particular series of datapoints, if F=measured force and DC=drive count, was Multi-VariableValue=(F*(DC/50))+0.25. In this equation, the normalization factor was50 and the offset was 0.25. The normalization factor or offset may beany preferred values identified as useful for detecting occlusions withgood accuracy.

The graph shows that before the occlusion 2601, the magnitude of themulti-variable value series 2605 is similar to that of thesingle-variable force reading 2602. This is a result of thenormalization and offset of the equation. As the pump continues todeliver insulin after the occlusion begins 2601, the multi-variablevalue series 2605 reaches magnitudes of almost twice that of the singlevariable force reading 2602. Thus an occlusion could be identified muchsooner in the multi-variable approach. With the multi-variable approach,the threshold for declaring an occlusion could also be raised withoutincreasing the amount of time elapsed before an occlusion is detected,which could provide higher confidence that an occlusion had in factoccurred.

The multi-variable approach can be incorporated into algorithms used forsingle variable occlusion detection. Also, new algorithms can be createdspecifically for use with the multi-variable occlusion detection. Somealgorithms that can be used, by way of example, are slope threshold andmaximum threshold methods. Alternatively, variance in variables may bemonitored by looking for values that are outside the general range ofvalues for the system. If a value is more than a certain variance fromthe usual range of values, it may indicate an occlusion or other problemhas occurred in the system.

FIG. 27 illustrates a flow chart of the logic of embodiments using themulti-variable approach. The logic starts at 2701. The system measures afirst pump value at 2702 and a second pump value at 2703. These blocksmay occur in series or in parallel. If they occur in series, the valuesmay be measured at the same time or at different times, but it ispreferred that they are measured during the same delivery pulse. Thesystem then detects occlusions based on the measured pump values 2704.Occlusions may be detected as described above and by using the dynamicsystem described below. If there are no occlusions, the system continueswith infusion 2706 as normal. If there is an occlusion detected, thesystem indicates an occlusion 2705. The system may set off an alarm toindicate the occlusion to the user.

Slope of one or multiple variables can be used to accelerate thedetection of an occlusion as well. This is the rate of change of eitherone or multiple variables. During normal delivery the slope should beconstant without a regular rate of change. After an occlusion hasoccurred, for example the force or drive count, would increase as thepressure increases. There can be lots of small changes to thesevariables during normal delivery, but after an occlusion the rate ofchange would remain fairly steady and positive. In a preferredembodiment the rate of change of the force would be positive for 10deliveries consecutively then an occlusion would be identified. It canalso be set with a threshold to verify the system is running high. Therate of change would need to be positive for 10 consecutive deliveriesand the force must be greater than 1 lbs. A graph of force measurements4001 taken during delivery is shown in FIG. 30. The line formed frompoints 4003 shows the slope of the force. In the example shown in FIG.30, an occlusion occurs at 4005. After 10 consecutive positive slopevalues, the system is programmed to detect the occlusion 4007 and analarm is triggered.

Another approach to determining an occlusion is looking for a point ofinflection or the rate of change of the slope. This can be the changefrom constant force or other variable to a new rate of change. Forexample, FIG. 31 shows force measurements 4021 taken over time. Theconstant force shown by line 4023 changes to a new rate of change shownby line 4025. An alarm 4027 is triggered by this change.

In further embodiments of the invention, occlusion detection, eitherthrough use of one variable or multiple variables, is performeddynamically. There are many variables in the systems described abovethat cause variance in the variables mentioned for a delivery pulse.Some of these are a result of misalignment between the reservoir and thedrive train, misalignment between the plunger or stopper and the drivetrain, compliance of the o-rings, and noise associated with the sensor.Due to these variables, the occlusion detection thresholds are set tocompensate for these to assure a false detection of occlusions does notoccur. As a result, these systems generally allow more delivery pulsesbefore an occlusion is detected. For example, a maximum thresholddetection method using force readings may allow sixty additionaldelivery pulses to be attempted after an occlusion occurs before thesystem alarm is activated. If a dynamic occlusion detection method isused, the number of excess delivery pulses can be reduced to a verysmall number, as low as three additional pulses.

In the occlusion detection methods described earlier in thisdescription, only one measurement is generally taken per delivery pulse.This measurement may occur before, during, or after delivery. A dynamicmethod for occlusion detection takes multiple measurements collectedduring each delivery pulse. The measurements may be taken periodicallyat a predetermined frequency, as often or as infrequently as desired, ormeasurements may be taken at particular times with respect to thedelivery pulse. For example, measurements could be taken every fewseconds or even once every second or partial second. It is also possibleto take continuous measurements throughout the delivery pulse, forexample, once every 10 seconds, once a minute, once every five minutes,or the like.

Using measurement of force as an example, generally the force increasesa large amount right after a delivery pulse. After the delivery pulse,the force decreases until a steady state force is achieved. If there isan occlusion, the steady state force will be higher than if there is noocclusion, or when there is an occlusion, the steady state force will bea larger percentage of the peak force than when there is no occlusion,or if there is an occlusion the force at some time after the peak forceis a larger percentage compared to the peak force than if there is noocclusion. An illustration of this is shown in FIG. 28. The graph inFIG. 28 shows force as a function of time during a delivery pulse. Thebold line 2801 shows force in a non-occluded system. The dashed line2802 shows force in an occluded system. Because the system is occluded,force decreases at a less rapid rate. Using the multiple measurementstaken during delivery, it is possible to determine a peak value 2804 ofthe measurement. As will be further discussed below, the graph alsoshows an occluded system post peak value 2806 and a non-occluded systempost peak value 2805. A pre-peak value 2803 is also shown.

It is possible to detect occlusions dynamically using the aboveprinciples in a number of ways using many types of variables orparameters. Although the following analysis describes using forcemeasurement, it should be understood that the dynamic detection ofocclusions may be similarly detected using any of the variablesdescribed above, including multiple-variables.

A simple algorithm can use two measurements or data points. For example,force may be measured at the peak value 2804 and at some time after thepeak value 2805 or 2806. In this algorithm, the difference between thepeak 2804 and post-peak values 2805 or 2806 is calculated and thencompared to a difference threshold. The difference threshold may bepredetermined for all pumps, determined for an individual pump based onpre-testing of the pump before issuance to a user, determined for a pumpeach time a new reservoir is loaded into the pump and the pump is primed(for example, the system may calculate the average difference of thefirst three delivery pulses after priming the pump, and use a percentageof that average difference as the difference threshold), or continuallydetermined (for example, the system may take the average difference of acertain number of consecutive delivery pulses calculated from severalpulses ago, for example, the average difference of three consecutivedelivery pulses may be calculated for six pulses prior to the currentdelivery pulse, and use that average difference as the differencethreshold). If the difference meets or exceeds that threshold, an alarmis activated. Thus, variability in the non-occluded force will nottrigger an occlusion alarm. For example some variables that may causethe unoccluded force to vary include: misalignment between the plungerand the reservoir, inconsistencies in the reservoir interior profile,varying friction between the stopper and the reservoir, faster or slowerdelivery rates, larger or smaller delivery quantities, etc.

Alternatively, if the difference meets or exceeds a certain percentageof the threshold, for example, 90% of the threshold value, an alarmcould be activated. It is also possible to keep a record of alldifferences or a certain number of past differences. The system may waituntil a certain number of consecutive pulses, for example three, createdifferences that are equal or higher to the threshold value (or apercentage of the threshold value) and then activate an alarm.Additionally, to account for variables in the system, the averagedifference over a certain number of consecutive pulses, for examplethree, may be taken and compared to the difference threshold. If theaverage difference is equal to or higher than the difference threshold(or a percentage of the threshold), then an alarm is activated.

Further, to account for changes in the peak over each pulse, it ispossible to calculate the total force as the difference between the peakvalue 2804 and a predetermined steady state value, and then to calculatethe difference between the peak 2804 and post-peak 2805 values as apercentage value of the total force. If this percentage is below apredetermined threshold, then an alarm is activated. However, thedrawback of this method is that it assumes the force returns to thesimilar or identical steady state value after each pulse.

Accordingly, to account for the fact that the force never returns tozero and may not return to the identical or similar steady state value,also shown in FIG. 28 is a third value 2803, which is taken before thepeak value. The third value 2803 may be used in addition to the peak2804 and post-peak 2805 values. This pre-peak value 2803 can be used tonormalize the peak value 2804. The difference between the peak value2804 and pre-peak value 2803 can be calculated as a total force value.Then, the difference between the peak value 2804 and post-peak value2805 or 2806 would be measured as a percentage of the total force valuejust determined. If this percentage is below a predetermined threshold,then an alarm is activated.

Also, it is possible to calculate the rate of decay of the variable(e.g., force) when decay begins after the peak value 2804. Because therate of decay is the same immediately after the peak 2804 and near theend of decay, it is preferable to take measurements starting at somepredetermined time period after the peak 2804 and ending somepredetermined time period before the end of the decay. The slope maythen be calculated for a line passing through the series of measurementsand compared to a slope threshold. Similar to the difference thresholddescribed above, the slope threshold may be predetermined for all pumps,determined for an individual pump based on pre-testing of the pumpbefore issuance to a user, determined for a pump each time a newreservoir is loaded into the pump and the pump is primed, or continuallydetermined. If the slope of the line is equal to or greater than theslope threshold, then an alarm is activated. Alternatively, if the slopemeets or exceeds a certain percentage of the slope threshold, forexample 90% of the threshold, then an alarm can be activated. It is alsopossible to calculate average slope values and to compare the calculatedaverage slope to the slope threshold (or a certain percentage of thethreshold), as discussed above with respect to the other dynamicocclusion detection systems. If the average slope value is greater thanor equal to the slope threshold, or some other predetermined percentage(e.g., 90%), of the slope threshold, the force can be considered to notbe decaying normally. Therefore, an occlusion can be declared.

In further embodiments, multiple measurements of a variable (e.g.,force) may be taken during each delivery pulse as described above, and acurve may be fit into the measurements or data points. Then an integralcan be taken of the area beneath the curve. If the integral is above acertain threshold, an occlusion can be declared. In still furtheralternative embodiments, other algorithms may be employed to determinewhether an occlusion has occurred by using the above variables, such asusing differential values rather than actual measured values,calculating the derivative of measured values, using a subset of pointsacross the range of points to calculate the slope, using curve fittingequations, employing smoothing, clipping or other filtering techniques,or the like.

Because there is a higher likelihood of failure, such as misseddetection of an occlusion, at high flow rates (e.g., a high number ofdelivery pulses in a short period of time, such as for a bolusdelivery), it may be preferable to use other occlusion detection methodsat these high flow rates. This failure may occur, because at high flowrates there may not be enough time between pulses for the system toreturn to a steady state. The dynamic occlusion method may be used inconjunction with the other occlusion detection methods described above(e.g., maximum measurement threshold, slope threshold, or the like) toallow for improved occlusion detection at all times.

FIG. 29 illustrates a flow chart of the logic of embodiments using adynamic occlusion detection approach. The logic starts at 2901. Thesystem measures a series of pump values at 2902, preferably periodicallyover one delivery pulse. The system determines the peak value of theseries of pump values at 2903. The system also determines a second valuelater than the peak value at 2904. The second value may be at apredetermined time after the peak or a predetermined number ofmeasurements taken after the peak value. Alternatively, it may also be apredetermined time or number of measurements taken before the nextdelivery pulse or taken after the delivery pulse starts. The system thendetects occlusions 2905. Occlusions may be detected by using thealgorithms described above. If there are no occlusions, the systemcontinues with infusion 2907 as normal. If there is an occlusiondetected, the system indicates an occlusion 2906. The system may set offan alarm to indicate the occlusion to the user.

In further embodiments, a series of measurements of a pump value may beused to determine whether the system has an occlusion. By using a seriesof measurements of a pump value that are close together to each other,it is possible to decrease the number of false identifications ofocclusions, as well as to assure that occlusions are promptlyidentified. The series of measurements may be taken after a delivery ofinfusion fluid and prior to the next delivery of infusion fluid. Forexample, with monitoring force, multiple things can contribute to errorsin determining the pressure in the reservoir by monitoring force behindthe plunger, such as: (1) friction between the plunger and the reservoirwall, (2) friction between the slide and its seal, (3) misalignment ofthe drive system relative to the axis of the syringe, and (4)inaccuracies of the force sensor. All of these disturbances/errorscontribute to inaccuracies in determining the pressure in the reservoir.

As frictions in the system, or misalignment, cause “noise” or errors inmonitoring pressure, they can also be identified by other means tocompensate for the errors and correcting inaccuracies of measurements.One indicator of errors is the current of the motor. The current of themotor during delivery, seating or priming can be an indicator of error,or elevated frictions. As the current increases or varies more duringreadings or from reading to reading it can indicate the inaccuracies ofmonitoring pressure in the syringe. Another indication of errors is thetime of powering the motor during delivery. As friction(s) and/ormisalignment increases or the variation increases, then the time topower the motor to accomplish the same rotation will increase or varymore from delivery to delivery. Yet another indication of errors isdrive count or coast count. As friction(s) and/or misalignmentincreases, the drive count will increase and the coast count willdecrease as the delivery algorithm compensates for the changes in force.As the variation in force or misalignment increases, the drive count andcoast count will vary more as well. When the force increases, it may ormay not be from increased pressure. The drive count will increase as thepressure increases. For this reason, the lower the force reading, thehigher the drive count would need to be to assure there is an occlusion.If the drive count is high and the force reading is high, there is evenmore confidence of an occlusion. If the force reading is high and thedrive count is low, there is less confidence of an occlusion. Yetanother indication of errors is variation compensation of forcereadings. The friction or electrical operations can cause noise in forcereadings. By monitoring multiple force readings and determining thevariation, a comparison value can be changed with respect to this. Asthe variation increases, the compensation value may increase tocompensate for the increased noise. For example, as the standarddeviation of sample force readings increases, the comparison value isincreased. By monitoring the magnitude or variation of one or more ofthese variables, a compensated value to compare force readings may becreated to determine more accurately if an occlusion has occurred.

Although the above variables assist in compensating for errors inmonitoring the pressure, they cannot eliminate all of the noise in thereadings. For this reason, filtering and/or weighing readings mayimprove accuracy of occlusion detection. In embodiments of theinvention, data is filtered by removing the high and low data points.Multiple readings can be taken, for example prior to a delivery,continuing from past deliveries, or between deliveries. These readingsmay be stored in memory in the pump. The highest and lowest readings inthe data set may then removed (a minimum of three readings are requiredfor this). For example, if the data set is 3.4, 3.5, 3.2, 5.9, and 3.6,then 3.2 and 5.9 would be removed. Throwing out the highest and lowestdata will produce an average value of 3.5, while not filtering wouldproduce an average of 3.92. Other examples of filtering include usinglarge data sets or using a moving average.

To weigh data sets, the weighting of the data set may be done asmultiple readings are taken, either consecutively between deliveries, orhistorically for past deliveries, weighing the most recent reading morethan previous readings because there is more confidence in the mostrecent reading. For example, if the data set is 1.2, 1.4, 1.3, 1.5, 1.5,and 1.7, the data points may each be multiplied by values to weigh themost recent reading highest and the least recent reading the lowest. Forexample, the weighed data may be 0.7*1.2, 0.8*1.4, 0.9*1.3, 1.1*1.5,1.2*1.5, and 1.3*1.7. Then a weighted average may be created by summingup the weighted data and dividing by the number of samples in the dataset.

FIG. 32 illustrates a flow chart of the logic of embodiments using aseries of measurements. In the embodiment shown in FIG. 32, the logicstarts at 5001. The system measures a pump value at 5003. The pump valuemay be a parameter associated with the motor or one of the drive traincomponents, such as pressure, delivery volume, force, drive current,drive voltage, motor drive time, motor coast time, delivery pulseenergy, motor drive count, motor coast count, and delta encoder count.The pump value is preferably a force reading. The system then waits apredetermined amount of time, for example 10 milliseconds.

At 5005, the system determines whether the pump value is less than apredetermined maximum threshold. If the pump value is less than thepredetermined maximum threshold, the system goes to delivery of aninfusion cycle as normal at 5019. If the pump value is not less than thepredetermined maximum threshold, the system determines whether apredetermined number of pump values has been collected, for example,five pump values at 5007. If not, the system returns to 5003 to obtainanother pump value. The pump values collected are stored in memory. Ifthe predetermined number of pump values has been collected at 5007, thesystem proceeds to apply a weighting to each pump value at 5009. Forexample, the weighting may be based on how recent the pump value wastaken. The weighting may increase based on how recent the pump value wastaken. Thus, a weighting factor may be assigned to each pump value, andthe weighting factor may be larger for pump values taken more recentlyand smaller for pump values taken earlier in time. An example weightingfor five pump values would be to multiply the first (oldest) reading by0.9375, the second reading by 0.96875, the third reading by 1.0, thefourth reading by 1.03125, and the fifth (most recent) reading by1.0625. Different weighting factors may be used as desired. It would bepossible to use the same weighting factor for more than one pump value.

After the weighting has been performed at 5009, a weighted average iscalculated at 5011. This may be calculated by adding the weighted pumpvalues and dividing by the total number of weighted pump values. Infurther embodiments, the high and low weighted values may be removedbefore calculating the weighted average in lieu of or in addition to anyprevious removal of the high and low unweighted values. Next, the systemmay revalue the calculated drive count to give a drive count value at5013. Other variables could be used. The drive count value may depend onthe magnitude of the calculated drive count. The drive count values maybe selected from at least two values, wherein each of the at least twovalues is defined to include a range of drive counts calculated. Forexample, in one embodiment, the drive count value is 1.1 if thecalculated drive count is less than or equal to 20, the drive countvalue is 1.0 if the calculated drive count is greater than 20 but lessthan 60, and the drive count value is 0.9 if the calculated drive countis greater than or equal to 60. In further embodiments, each drive countmay have its own, unique, drive count value. Next, the system multipliesthe drive count value by a conversion value to obtain a comparison value(or threshold value) at 5015. The conversion value may be, for example,2.667. At 5017, the system determines whether the weighted average isgreater than the comparison value. If the weighted average is notgreater than the comparison value, the system goes to a normal deliveryat 5019. If the weighted average is greater than the comparison value,the system indicates that there is an occlusion by going to an occlusionalarm at 5021.

In particular, the above algorithms may compensate for increases infriction or misalignment with the comparison value. The noise iscorrected by using the weighted average. A higher force is required todetermine an occlusion at lower drive counts, and a lower force isrequired to determine occlusions at higher drive counts. By using amultivariable calculation like this, the chance of detecting falseocclusions is decreased. In further embodiments, after an occlusion isdeclared, and, where necessary, the user instructs the pump to resume,the comparison value is set to 90% of the comparison value for apredetermined number of earlier deliveries, for example, the previousthree deliveries. This eliminates lag in the system due to the systemresponse and ensures immediate acknowledgement of the occlusion again ifit has not been cleared.

As shown in FIG. 32, in particular embodiments, if a single pump value(e.g., force reading) is less than a predetermined maximum threshold at5005, the system goes to delivery at 5019. In further embodiments, tominimize battery usage and computations between deliveries, thepredetermined maximum threshold is 20% less than the conversion value.For example, if the conversion value is 2.667, the system will step outof the sampling routine and go directly to the delivery without samplingadditional force readings if a single force reading is less than 2.134(i.e., 0.8×2.667=2.1336).

While the description above refers to particular embodiments of thepresent inventions, it will be understood that many modifications may bemade without departing from the spirit thereof. The accompanying claimsare intended to cover such modifications as would fall within the truescope and spirit of the present inventions. When used in the claims, thephrase “selected from the group consisting of” followed by a list, suchas “X, Y and Z,” is not intended to mean that all members of the listmust be present or that at least one of each of the members of the listmust be present. It is intended to cover cases where one, some or all ofthe members of the list are present. For example, where the list is “X,Y, and Z,” the claim would cover an embodiment containing just X, justY, just Z, X and Y, X and Z, Y and Z, and X, Y, and Z. The presentlydisclosed embodiments are to be considered in all respects asillustrative and not restrictive, the scope of the inventions beingindicated by the appended claims rather than the foregoing description,and all changes which come within the meaning and range of equivalencyof the claims are therefore intended to be embraced therein.

Multiple methods have been described to enable the pump to monitor oneor more parameters inherent to the system design that can be usedindividually or in combination to detect reduction in insulin delivery.One of these methods or multiple of these methods could be implementedinto the pump software for redundancy providing multiple methods tomonitor the system for potential occlusions. Additionally, one ormultiple of these methods could be enabled by the user via softwareselection through the programmable pump user interface.

Each defined occlusion measurement method may have differenteffectiveness in monitoring the systems for true occlusions resulting inreduced insulin delivery without generating false alarms. In this case,more aggressive measurement techniques that may produce more falsealarms due to higher sensitivity to variables could be disabled by theuser through the software programmable interface. This would allow theuser to adjust the system sensitivity to occlusions by the methodselected. As an example, two methods may be implemented into the pumpsoftware as user selectable. The first could be the slope method withdefined parameters such that it would detect occlusions with less missedinsulin delivery than the second method, which would be a simple forcethreshold with a force value resulting in more missed delivery than thefirst method prior to indication of an occlusion alarm. The methodscould be listed by different descriptions such as “high sensitivity” and“low sensitivity.” The user could select “high sensitivity” and enableboth methods or “low sensitivity” and enable only one method, forexample the simple threshold method. Further, the system could implementtwo or more differing methods providing the user more than twoselections. Further, the same measurement method could be implementedwith two or more parameters that affect sensitivity to detect occlusion,whereby the selected parameter with the higher sensitivity is morelikely to generate a false alarm but with the advantage of being able todetect true occlusion more rapidly. For example, the system could have asimple force threshold method for detecting occlusions, such asdescribed in U.S. Pat. No. 6,362,591, which is herein incorporated byreference. The pump could have pre-programmed threshold trigger forcevalues of, for example, 1.0 lbf, 2.0 lbf, and 3.0 lbf, and the usercould select any of these force values. The lower the selected forcevalue, the more sensitive the pump would be to increasing pressures dueto occlusions thereby generating an occlusion alarm in less time at agiven delivery rate. This higher sensitivity setting could result in ahigher rate of false alarms. Alternatively, if the user were to select3.0 lbf, the pump would be less likely to generate a false alarm at thecost of an increased time to generate an occlusion alarm for a trueocclusion at a given delivery rate. Alternatively, instead of the userbeing given a selection of 1.0 lbf, 2.0 lbf, and 3.0 lbf, the user couldbe given the choice of “Low,” “Med,” and “High” sensitivities. Althoughthree different selectable force values were discussed in this example,the system could be programmed with any number of selectable forcevalues, for example, two, four or five. Additionally, this exampledescribed the simple force threshold method. Any of the discussedocclusion sensing methods described in this application could beimplemented in a similar manner.

While the description above refers to particular embodiments of thepresent invention, it will be understood that many modifications may bemade without departing from the spirit thereof. The accompanying claimsare intended to cover such modifications as would fall within the truescope and spirit of the present invention.

The presently disclosed embodiments are therefore to be considered inall respects as illustrative and not restrictive, the scope of theinvention being indicated by the appended claims, rather than theforegoing description, and all changes which come within the meaning andrange of equivalency of the claims are therefore intended to be embracedtherein.

1. A method of detecting an occlusion in an infusion pump having a drivemechanism that includes a motor and one or more drive train componentscoupled to a reservoir for incrementally infusing fluid from thereservoir into a body of a user, the method comprising: taking a seriesof measurements of a parameter associated with the motor or one of thedrive train components; calculating a weighted average of the series ofmeasurements; comparing the weighted average to a maximum thresholdvalue; and determining whether the weighted average is greater than themaximum threshold value.
 2. The method of claim 1, wherein the taking aseries of measurements of a parameter associated with the motor or oneof the drive train components occurs prior to a delivery of infusionfluid.
 3. The method of claim 1, wherein the taking a series ofmeasurements of a parameter associated with the motor or one of thedrive train components occurs during or after a delivery of infusionfluid.
 4. The method of claim 1 wherein each measurement after the firstmeasurement in the series of measurements is taken a predetermined timeafter the previous measurement.
 5. The method of claim 1 wherein thecalculating the weighted average includes applying a weighting factor toeach measurement in the series of measurements to determine a weightedvalue corresponding to each measurement in the series of measurements.6. The method of claim 5 wherein the calculating the weighted averageincludes calculating the average of the weighted values
 7. The method ofclaim 5, wherein the weighting factors applied to each measurement inthe series of measurements after the first measurement is larger thanthe weighting factor for the immediately preceding measurement in theseries of measurements.
 8. The method of claim 1, further comprisingproviding an alarm indication if a determination is made that theweighted average is greater than the maximum threshold value.
 9. Themethod of claim 1, wherein the parameter associated with the motor orone of the drive train components is selected from the group consistingof pressure, delivery volume, force, drive current, drive voltage, motordrive time, motor coast time, delivery pulse energy, motor drive count,motor coast count, and delta encoder count.
 10. The method of claim 1wherein the parameter is force.
 11. The method of claim 1, furthercomprising: determining the drive count of the motor; determining adrive count value based on the drive count of the motor; and calculatingthe maximum threshold value based on the drive count value.
 12. Themethod of claim 11, wherein the parameter is force, and furthercomprising providing an alarm indication if a determination is made thatthe weighted average is greater than the maximum threshold value. 13.The method of claim 11, wherein the drive count value is X when thedrive count of the motor is within a first range of drive counts,wherein the drive count value is Y when the drive count of the motor iswithin a second range of drive counts, wherein the drive counts withinthe first range are less than the drive counts within the second range,and wherein Y is less than X.
 14. The method of claim 11, wherein thecalculating the maximum threshold value includes multiplying the drivecount value by a predetermined conversion value.
 15. The method of claim14, wherein the predetermined conversion value is calculated from aformula including at least one factor selected from the group consistingof current, time of powering the motor, drive count, coast count, andstandard deviation of force readings.
 16. The method of claim 1 whereinafter each measurement in the series of measurements is taken themeasurement is compared to a predetermined lower threshold value beforetaking the next measurement in the series of measurements, and whereinif the comparison indicates that the measurement taken is less than thepredetermined lower threshold value it is determined that there is noocclusion.
 17. The method of claim 16 wherein the predetermined lowerthreshold is equal to N multiplied by the predetermined conversionvalue, wherein N is less than 1.0.
 18. The method of claim 1, furthercomprising filtering the series of measurements to remove the at leasttwo measurements before calculating the weighted value, wherein theseries of measurements includes at least three measurements.
 19. Themethod of claim 18, wherein the at least two measurements are thehighest measurement and the lowest measurement.
 20. The method of claim1, further comprising filtering the series of measurements to remove atleast three measurements before calculating the weighted value, whereinthe series of measurements includes at least five measurements.
 21. Aninfusion pump for infusing fluid from a reservoir into a body of a user,the infusion pump comprising: a housing; a drive mechanism including amotor and one or more drive components contained within the housing andoperatively coupled to the reservoir to deliver fluid from the reservoirthrough a fluid path into the body of the user; one or more electroniccomponents adapted to take a series of measurements of a parameterassociated with the motor or one of the drive train components; and acontroller contained within the housing and adapted to calculate aweighted average of the series of measurements, compare the weightedaverage to a maximum threshold value, and to determine whether anocclusion has occurred in the fluid path of the infusion pump bydetermining whether the weighted average is greater than the maximumthreshold value.
 22. The infusion pump of claim 21, wherein eachmeasurement after the first measurement in the series of measurements istaken a predetermined time after the previous measurement.
 23. Theinfusion pump of claim 21, further including an alarm adapted toactivate if a determination is made that the weighted average is greaterthan the maximum threshold value.
 24. The infusion pump of claim 21,wherein the parameter associated with the motor is independentlyselected from the group consisting of pressure, delivery volume, force,drive current, drive voltage, motor drive time, motor coast time,delivery pulse energy, motor drive count, motor coast count, and deltaencoder count.
 25. The infusion pump of claim 21, wherein the parameteris force.
 26. The infusion pump of claim 21, wherein the electroniccomponents include a sensor adapted to measure force.
 27. The infusionpump of claim 21, wherein the electronic components include an encoderadapted to measure motor drive count.
 28. The infusion pump of claim 21,wherein the calculating the weighted average includes applying aweighting factor to each measurement in the series of measurements todetermine a weighted value corresponding to each measurement in theseries of measurements and calculating the average of the weightedvalues.
 29. The infusion pump of claim 28, wherein the weighting factorapplied to each measurements in the series of measurements after thefirst measurement is larger than the weighting factor for theimmediately preceding measurement in the series of measurements.
 30. Theinfusion pump of claim 21, wherein the controller is further adapted todetermine the drive count of the motor, determine a drive count valuebased on the drive count of the motor, and calculate the maximumthreshold value based on the drive count value.
 31. The infusion pump ofclaim 30, wherein the drive count value is X when the drive count of themotor is within a first range of drive counts, wherein the drive countvalue is Y when the drive count of the motor is within a second range ofdrive counts, wherein the drive counts within the first range are lessthan the drive counts within the second range, and wherein Y is lessthan X.
 32. The infusion pump of claim 30, wherein the calculating themaximum threshold value includes multiplying the drive count value by apredetermined conversion value.
 33. The infusion pump of claim 32,wherein the predetermined conversion value is calculated from a formulaincluding at least one factor selected from the group consisting ofcurrent, time of powering the motor, drive count, coast count, andstandard deviation of force readings.
 34. The infusion pump of claim 21,wherein the controller is further adapted to filter the series ofmeasurements to remove the highest measurement and the lowestmeasurement before calculating the weighted value, wherein the series ofmeasurements includes at least three measurements.
 35. The infusion pumpof claim 21, wherein after each measurement in the series of measurementis taken the measurement is compared to a predetermined lower thresholdvalue before taking the next measurement in the series of measurements,and wherein if the comparison indicates that the measurement taken isless than the predetermined lower threshold value it is determined thatthere is no occlusion.
 36. The infusion pump of claim 35, wherein thepredetermined lower threshold value is equal to N multiplied by thepredetermined conversion value, wherein N is less than 1.0.